ID Token vs Access Token
หากพูดถึง Token ที่ใช้กันในปัจจุบัน หลายคนคงเคยใช้ JSON Web Token (JWT) กับ OAuth Token แต่เชื่อว่าคงมีหลายคนที่เคยสงสัยเหมือนกับผมว่า แล้วมันต่างกันยังไง ใช้กับกรณีใดบ้าง ก่อนอื่นต้องมาทำความรู้จักกับประเภทของ Token กันก่อน
Type Token
ID Token
ใข้ในการระบุตัวตนของผู้ใช้ในระบบเท่านั้น ซึ่งก็คือ Authentication Token นั่นแหละ โดยหลังจากที่เราทำการกรอก Username และ Password ระบบจะทำการ Authentication แล้วส่ง Token กลับมา เพื่อให้ Client สามารถทำการดึงข้อมูล User Profile
ไม่ควรใช้ ID Token เพื่อเข้าถึง API โดยตรง หรือ เข้าถึงทรัพยากรต่าง ๆ บนเครื่อง Server และควรทำตามมาตรฐานความปลอดภัย Token Best Practices
JWT Token ( Encode )
JWT Token ( Decode )
Access Token
ใช้ในการเข้าถึงข้อมูลทรัพยากรต่าง ๆ บนเครื่อง Server ซึ่งก็คือ Authorization Token นั่นแหละ มักถูกส่งมาพร้อมกับ ID Token เพื่อ Allow Resource เหมาะกับการนำไปใช้กับการเข้าถึงพวก API หรือระหว่าง Service กับ Service คุยกัน
ไม่ควรกำหนด Scope ในการเข้าถึงทรัพยากรเกินความจำเป็น และในการ Implement จะต้องดูว่าจะนำไปใช้ในลักษณะใด นอกจากนี้ Access Token ไม่ใช่ Single Sign-On แต่สามารถนำไปประยุกต์ใช้ได้
Last updated 9 months ago
Last updated