# ความปลอดภัยและการยืนยันตัวตน (Go) > JWT, OAuth2, การจัดการเซสชัน, RBAC, crypto/rand vs math/rand, การกำหนดค่า TLS, การเขียนโค้ดอย่างปลอดภัย, แนวปฏิบัติที่ดีที่สุดด้านความปลอดภัย - 24 คำถามสัมภาษณ์ - Senior - [คำถามสัมภาษณ์: Go](https://sharpskill.dev/th/technologies/go/interview-questions.md) ## 1. ความแตกต่างหลักระหว่างโทเค็น JWT กับเซสชันเซิร์ฟเวอร์แบบดั้งเดิมคืออะไร? **คำตอบ** โทเค็น JWT เป็นแบบ stateless (ไม่มีสถานะฝั่งเซิร์ฟเวอร์) และบรรจุข้อมูลที่จำเป็นทั้งหมดที่ถูกเข้ารหัสไว้ภายในตัวโทเค็นเอง ต่างจากเซสชันแบบดั้งเดิมที่เก็บข้อมูลไว้ในหน่วยความจำหรือฐานข้อมูลฝั่งเซิร์ฟเวอร์โดยมีเพียง session ID อยู่ฝั่งไคลเอนต์ JWT ย้ายความรับผิดชอบในการจัดเก็บไปยังไคลเอนต์ สิ่งนี้ช่วยให้การขยายในแนวนอนทำได้ง่ายขึ้นเนื่องจากไม่ต้องมีสถานะที่ใช้ร่วมกันระหว่างเซิร์ฟเวอร์ ## 2. สามส่วนของโทเค็น JWT ที่คั่นด้วยจุดคืออะไร? **คำตอบ** JWT ประกอบด้วยสามส่วนที่เข้ารหัสแบบ Base64URL และคั่นด้วยจุด: Header (อัลกอริทึมและประเภท), Payload (claims/ข้อมูล) และ Signature (การตรวจสอบความสมบูรณ์) โครงสร้างคือ header.payload.signature โดย header ระบุอัลกอริทึมการลงนาม (HS256, RS256), payload บรรจุ claims (iss, sub, exp) และ signature รับประกันว่าโทเค็นไม่ถูกแก้ไข ## 3. JWT claim มาตรฐานใดที่กำหนด timestamp การหมดอายุของโทเค็น? **คำตอบ** claim 'exp' (expiration time) กำหนด Unix timestamp ที่หลังจากนั้นจะต้องไม่รับโทเค็นอีกต่อไป claims มาตรฐานยังรวมถึง 'iss' (issuer), 'sub' (subject), 'aud' (audience), 'iat' (issued at) และ 'nbf' (not before) การตรวจสอบ claim exp มีความสำคัญอย่างยิ่งในการจำกัดระยะเวลาที่โทเค็นมีผลและลดผลกระทบจากโทเค็นที่ถูกขโมย ## มีอีก 21 คำถาม - ความแตกต่างหลักระหว่าง HS256 และ RS256 ในการลงนาม JWT คืออะไร? - จะเพิกถอน JWT ก่อนที่มันจะหมดอายุตามธรรมชาติได้อย่างไร? สมัครฟรี: https://sharpskill.dev/th/login ## หัวข้อสัมภาษณ์ Go อื่นๆ - [พื้นฐาน Go](https://sharpskill.dev/th/technologies/go/interview-questions/go-basics.md): 25 คำถาม, Junior - [โครงสร้างข้อมูล Go](https://sharpskill.dev/th/technologies/go/interview-questions/go-data-structures.md): 20 คำถาม, Junior - [อินเทอร์เฟซใน Go](https://sharpskill.dev/th/technologies/go/interview-questions/go-interfaces.md): 18 คำถาม, Junior - [การจัดการข้อผิดพลาด](https://sharpskill.dev/th/technologies/go/interview-questions/error-handling.md): 20 คำถาม, Junior - [พื้นฐาน Goroutine](https://sharpskill.dev/th/technologies/go/interview-questions/goroutines-basics.md): 20 คำถาม, Junior - [Channels](https://sharpskill.dev/th/technologies/go/interview-questions/channels.md): 22 คำถาม, Junior - [Go Modules](https://sharpskill.dev/th/technologies/go/interview-questions/go-modules.md): 18 คำถาม, Mid-Level - [เซิร์ฟเวอร์ HTTP](https://sharpskill.dev/th/technologies/go/interview-questions/http-server.md): 24 คำถาม, Mid-Level - [ไคลเอนต์ HTTP](https://sharpskill.dev/th/technologies/go/interview-questions/http-client.md): 18 คำถาม, Mid-Level - [การเข้ารหัส JSON](https://sharpskill.dev/th/technologies/go/interview-questions/json-encoding.md): 20 คำถาม, Mid-Level - [Database/SQL](https://sharpskill.dev/th/technologies/go/interview-questions/database-sql.md): 22 คำถาม, Mid-Level - [แพ็กเกจ context](https://sharpskill.dev/th/technologies/go/interview-questions/context-package.md): 20 คำถาม, Mid-Level - [Testing](https://sharpskill.dev/th/technologies/go/interview-questions/testing.md): 22 คำถาม, Mid-Level - [รูปแบบ Concurrency](https://sharpskill.dev/th/technologies/go/interview-questions/concurrency-patterns.md): 24 คำถาม, Mid-Level - [ไพรมิทีฟการซิงโครไนซ์](https://sharpskill.dev/th/technologies/go/interview-questions/sync-primitives.md): 22 คำถาม, Mid-Level - [เฟรมเวิร์กเว็บ Go](https://sharpskill.dev/th/technologies/go/interview-questions/go-web-frameworks.md): 20 คำถาม, Mid-Level - [การออกแบบ REST API](https://sharpskill.dev/th/technologies/go/interview-questions/rest-api-design.md): 20 คำถาม, Mid-Level - [gRPC](https://sharpskill.dev/th/technologies/go/interview-questions/grpc.md): 22 คำถาม, Mid-Level - [Reflection](https://sharpskill.dev/th/technologies/go/interview-questions/reflection.md): 20 คำถาม, Senior - [การจัดการหน่วยความจำ](https://sharpskill.dev/th/technologies/go/interview-questions/memory-management.md): 24 คำถาม, Senior - [การเพิ่มประสิทธิภาพการทำงาน](https://sharpskill.dev/th/technologies/go/interview-questions/performance-optimization.md): 22 คำถาม, Senior - [Generics](https://sharpskill.dev/th/technologies/go/interview-questions/generics.md): 20 คำถาม, Senior - [Go Design Patterns](https://sharpskill.dev/th/technologies/go/interview-questions/design-patterns.md): 24 คำถาม, Senior - [Microservices](https://sharpskill.dev/th/technologies/go/interview-questions/microservices.md): 24 คำถาม, Senior - [Docker & Containerization](https://sharpskill.dev/th/technologies/go/interview-questions/docker-containerization.md): 20 คำถาม, Senior - [Kubernetes Basics](https://sharpskill.dev/th/technologies/go/interview-questions/kubernetes-basics.md): 22 คำถาม, Senior - [Go ขั้นสูง](https://sharpskill.dev/th/technologies/go/interview-questions/advanced-go.md): 20 คำถาม, Senior - [การพัฒนา CLI](https://sharpskill.dev/th/technologies/go/interview-questions/cli-development.md): 20 คำถาม, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/th/technologies/go/interview-questions/security-authentication