รับข้อมูลผู้ใช้ภายในองค์กร
ใช้เมื่อใด
โดยปกติจะใช้ในหน้าข้อมูลโปรไฟล์ผู้ใช้ ซึ่งผู้ใช้ต้องการแสดงข้อมูลขององค์กรที่ตนเองสังกัด
วิธีการนำไปใช้
มี 2 วิธีในการรับข้อมูลผู้ใช้ภายในองค์กร
1. ถอดรหัสโทเค็น ID (ID token)
โทเค็น ID (ID token) เป็น JWT มาตรฐานที่มีข้อมูลโปรไฟล์ผู้ใช้และการอ้างสิทธิ์ (claims) ที่เกี่ยวข้องกับองค์กร เรียกใช้เมธอด SDK decodeIdToken() เพื่อรับอ็อบเจ็กต์ JSON ดังนี้:
{
"sub": "aauqbb63vg4s",
"name": "John Doe",
"picture": "https://example.com/johndoe.png",
"email": "[email protected]",
// ...
"organizations": [
"organization-id-1",
"organization-id-2",
"organization-id-3"
// ...
],
"organization_roles": [
"organization-id-1:admin",
"organization-id-2:member",
"organization-id-3:viewer"
// ...
],
"aud": "admin-console"
// ...
}
อย่างไรก็ตาม โทเค็น ID จะถูกออกให้เฉพาะระหว่างการยืนยันตัวตน (Authentication) เท่านั้น และอาจล้าสมัยหากโปรไฟล์ผู้ใช้มีการเปลี่ยนแปลงในภายหลัง
หากต้องการข้อมูลล่าสุดที่สุด ให้ใช้วิธีที่สองด้านล่าง หรือเรียก clearAllTokens() และเริ่มกระบวนการยืนยันตัวตนใหม่เพื่อรับโทเค็น ID ที่สดใหม่
await logtoClient.clearAllTokens();
logtoClient.signIn({
redirectUri: 'https://your-app.com/callback',
prompt: 'consent',
});
หากเซสชันยังคงใช้งานได้ การเรียก signIn จะเปลี่ยนเส้นทางกลับไปยังแอปของคุณโดยไม่ต้องกรอกข้อมูลรับรองใหม่ สำหรับผู้ใช้ แอปจะเพียงแค่รีเฟรชและมีการออกโทเค็น ID ใหม่เบื้องหลัง
2. ดึงข้อมูลผู้ใช้จาก endpoint /oidc/me
คุณยังสามารถร้องขอ /oidc/me เพื่อรับข้อมูลผู้ใช้แบบเรียลไทม์ในบริบทขององค์กร เรียกใช้เมธอด SDK fetchUserInfo()