ข้ามไปยังเนื้อหาหลัก

รับข้อมูลผู้ใช้ภายในองค์กร

ใช้งานเมื่อใด

โดยปกติจะใช้ในหน้าข้อมูลโปรไฟล์ผู้ใช้ที่ต้องแสดงข้อมูลขององค์กรที่ผู้ใช้สังกัด

ข้อมูลผู้ใช้ในองค์กร

วิธีการนำไปใช้

มีสองวิธีในการรับข้อมูลผู้ใช้ภายในองค์กร

ถอดรหัสโทเค็น ID (Decode the ID token)

โทเค็น ID (ID token) เป็น JWT มาตรฐานที่มีข้อมูลโปรไฟล์ผู้ใช้และการอ้างสิทธิ์ (claims) ที่เกี่ยวข้องกับองค์กร เรียกใช้เมธอด SDK decodeIdToken() เพื่อรับอ็อบเจกต์ JSON เช่นนี้:

{
"sub": "aauqbb63vg4s",
"name": "John Doe",
"picture": "https://example.com/johndoe.png",
"email": "johndoe@example.com",
// ...
"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 ใหม่โดยอัตโนมัติ

ดึงข้อมูลผู้ใช้จาก endpoint /oidc/me

คุณยังสามารถร้องขอ /oidc/me เพื่อรับข้อมูลผู้ใช้แบบเรียลไทม์ในบริบทขององค์กรได้ เรียกใช้เมธอด SDK fetchUserInfo()

รองรับโทเค็นทึบ (Opaque token):

หากคุณใช้ โทเค็นทึบ (Opaque token) (ออกให้เมื่อไม่ได้ระบุทรัพยากร API) คุณยังสามารถดึงข้อมูลสมาชิกองค์กรผ่าน userinfo endpoint ได้ เมื่อคุณร้องขอขอบเขต urn:logto:scope:organizations การตอบกลับจะมี organizations และการอ้างสิทธิ์ที่เกี่ยวข้องกับองค์กรอื่น ๆ

โปรดทราบว่าโทเค็นทึบไม่สามารถใช้เป็นโทเค็นองค์กรสำหรับเข้าถึงทรัพยากรเฉพาะองค์กรได้ ดู โทเค็นทึบและองค์กร สำหรับรายละเอียดเพิ่มเติม