
ความปลอดภัยและการยืนยันตัวตน
JWT, OAuth2, การจัดการเซสชัน, RBAC, crypto/rand vs math/rand, การกำหนดค่า TLS, การเขียนโค้ดอย่างปลอดภัย, แนวปฏิบัติที่ดีที่สุดด้านความปลอดภัย
1ความแตกต่างหลักระหว่างโทเค็น JWT กับเซสชันเซิร์ฟเวอร์แบบดั้งเดิมคืออะไร?
ความแตกต่างหลักระหว่างโทเค็น JWT กับเซสชันเซิร์ฟเวอร์แบบดั้งเดิมคืออะไร?
คำตอบ
โทเค็น JWT เป็นแบบ stateless (ไม่มีสถานะฝั่งเซิร์ฟเวอร์) และบรรจุข้อมูลที่จำเป็นทั้งหมดที่ถูกเข้ารหัสไว้ภายในตัวโทเค็นเอง ต่างจากเซสชันแบบดั้งเดิมที่เก็บข้อมูลไว้ในหน่วยความจำหรือฐานข้อมูลฝั่งเซิร์ฟเวอร์โดยมีเพียง session ID อยู่ฝั่งไคลเอนต์ JWT ย้ายความรับผิดชอบในการจัดเก็บไปยังไคลเอนต์ สิ่งนี้ช่วยให้การขยายในแนวนอนทำได้ง่ายขึ้นเนื่องจากไม่ต้องมีสถานะที่ใช้ร่วมกันระหว่างเซิร์ฟเวอร์
2สามส่วนของโทเค็น JWT ที่คั่นด้วยจุดคืออะไร?
สามส่วนของโทเค็น JWT ที่คั่นด้วยจุดคืออะไร?
คำตอบ
JWT ประกอบด้วยสามส่วนที่เข้ารหัสแบบ Base64URL และคั่นด้วยจุด: Header (อัลกอริทึมและประเภท), Payload (claims/ข้อมูล) และ Signature (การตรวจสอบความสมบูรณ์) โครงสร้างคือ header.payload.signature โดย header ระบุอัลกอริทึมการลงนาม (HS256, RS256), payload บรรจุ claims (iss, sub, exp) และ signature รับประกันว่าโทเค็นไม่ถูกแก้ไข
3JWT claim มาตรฐานใดที่กำหนด timestamp การหมดอายุของโทเค็น?
JWT claim มาตรฐานใดที่กำหนด timestamp การหมดอายุของโทเค็น?
คำตอบ
claim 'exp' (expiration time) กำหนด Unix timestamp ที่หลังจากนั้นจะต้องไม่รับโทเค็นอีกต่อไป claims มาตรฐานยังรวมถึง 'iss' (issuer), 'sub' (subject), 'aud' (audience), 'iat' (issued at) และ 'nbf' (not before) การตรวจสอบ claim exp มีความสำคัญอย่างยิ่งในการจำกัดระยะเวลาที่โทเค็นมีผลและลดผลกระทบจากโทเค็นที่ถูกขโมย
ความแตกต่างหลักระหว่าง HS256 และ RS256 ในการลงนาม JWT คืออะไร?
จะเพิกถอน JWT ก่อนที่มันจะหมดอายุตามธรรมชาติได้อย่างไร?
+21 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Go อื่นๆ
พื้นฐาน Go
โครงสร้างข้อมูล Go
อินเทอร์เฟซใน Go
การจัดการข้อผิดพลาด
พื้นฐาน Goroutine
Channels
Go Modules
เซิร์ฟเวอร์ HTTP
ไคลเอนต์ HTTP
การเข้ารหัส JSON
Database/SQL
แพ็กเกจ context
Testing
รูปแบบ Concurrency
ไพรมิทีฟการซิงโครไนซ์
เฟรมเวิร์กเว็บ Go
การออกแบบ REST API
gRPC
Reflection
การจัดการหน่วยความจำ
การเพิ่มประสิทธิภาพการทำงาน
Generics
Go Design Patterns
Microservices
Docker & Containerization
Kubernetes Basics
Go ขั้นสูง
การพัฒนา CLI
เชี่ยวชาญ Go สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี