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

การจัดการสิทธิ์ของแอป OIDC / OAuth

แอปพลิเคชันของบุคคลที่สามที่ไม่ได้เป็นเจ้าของโดยบริการของคุณ จะถูกรวมเข้ากับ Logto ในฐานะผู้ให้บริการข้อมูลระบุตัวตน (IdP) เพื่อยืนยันตัวตนของผู้ใช้ แอปเหล่านี้ซึ่งมักมาจากผู้ให้บริการภายนอก จำเป็นต้องมีการจัดการสิทธิ์อย่างรอบคอบเพื่อปกป้องข้อมูลผู้ใช้

Logto ช่วยให้คุณควบคุมสิทธิ์เฉพาะที่มอบให้กับแอปพลิเคชันของบุคคลที่สาม ซึ่งรวมถึงการจัดการ โปรไฟล์ผู้ใช้, ทรัพยากร API, และ ขอบเขตขององค์กร ไม่เหมือนกับแอปของเจ้าของเอง (first-party apps) แอปของบุคคลที่สามที่ร้องขอขอบเขตที่ไม่ได้รับอนุญาตจะถูกปฏิเสธการเข้าถึง

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

จัดการสิทธิ์ของแอป OIDC บุคคลที่สามของคุณ

ไปที่ Console > Applications > Application details page ของแอป OIDC บุคคลที่สามของคุณ แล้วไปที่แท็บ Permissions และคลิกปุ่ม Add permissions เพื่อจัดการสิทธิ์ของแอปบุคคลที่สามของคุณ

ข้อมูลผู้ใช้พื้นฐานเป็นสิ่งจำเป็นเสมอสำหรับคำขอของแอปบุคคลที่สาม นอกจากนี้ Logto ยังรองรับการกำหนดทรัพยากรขององค์กร ทำให้เหมาะสำหรับบริการ B2B

ให้สิทธิ์ข้อมูลผู้ใช้

กำหนดสิทธิ์ในระดับผู้ใช้ รวมถึง สิทธิ์โปรไฟล์ผู้ใช้ (เช่น อีเมล, ชื่อ, และอวาตาร์) และ สิทธิ์ทรัพยากร API (เช่น การอ่านหรือเขียนทรัพยากรเฉพาะ)

ชื่อของทรัพยากรที่ร้องขอ (เช่น ข้อมูลผู้ใช้ส่วนตัว, ชื่อ API) และคำอธิบายสิทธิ์เฉพาะ (เช่น ที่อยู่อีเมลของคุณ) จะแสดงบนหน้าขอความยินยอมเพื่อให้ผู้ใช้ตรวจสอบ

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

grant permissions of user data

ให้สิทธิ์ข้อมูลขององค์กร

กำหนดสิทธิ์ในระดับองค์กร รวมถึง สิทธิ์ขององค์กร และ สิทธิ์ทรัพยากร API Logto อนุญาตให้กำหนดทรัพยากร API ให้กับบทบาทขององค์กรเฉพาะได้

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

grant permissions of organization data

ประเภทของสิทธิ์

สิทธิ์ผู้ใช้ (ขอบเขตโปรไฟล์ผู้ใช้)

สิทธิ์เหล่านี้เป็นขอบเขตมาตรฐานของ OIDC และขอบเขตโปรไฟล์ผู้ใช้ที่จำเป็นของ Logto สำหรับการเข้าถึงการอ้างสิทธิ์ของผู้ใช้ (Claims) การอ้างสิทธิ์ของผู้ใช้จะถูกส่งกลับใน ID token และ userinfo endpoint ตามลำดับ

  • profile: ขอบเขตมาตรฐาน OIDC ใช้สำหรับเข้าถึงชื่อและอวาตาร์ของผู้ใช้
  • email: ขอบเขตมาตรฐาน OIDC ใช้สำหรับเข้าถึงอีเมลของผู้ใช้
  • phone: ขอบเขตมาตรฐาน OIDC ใช้สำหรับเข้าถึงหมายเลขโทรศัพท์ของผู้ใช้
  • custom_data: ขอบเขตโปรไฟล์ผู้ใช้ของ Logto ใช้สำหรับเข้าถึง ข้อมูลกำหนดเองของผู้ใช้
  • identity: ขอบเขตโปรไฟล์ผู้ใช้ของ Logto ใช้สำหรับเข้าถึงข้อมูล โซเชียลไอดีของผู้ใช้
  • role: ขอบเขตโปรไฟล์ผู้ใช้ของ Logto ใช้สำหรับเข้าถึงข้อมูล บทบาท ของผู้ใช้
  • urn:logto:scope:organizations: ขอบเขตองค์กรของผู้ใช้ใน Logto ใช้สำหรับเข้าถึงข้อมูลองค์กรของผู้ใช้ หากเปิดใช้งานและถูกขอโดยแอปบุคคลที่สาม จะมีตัวเลือกองค์กรแสดงบนหน้าขอความยินยอม เพื่อให้ผู้ใช้ตรวจสอบและเลือกองค์กรที่ต้องการให้สิทธิ์เข้าถึง ดู องค์กร สำหรับรายละเอียดเพิ่มเติม
  • urn:logto:scope:organization_roles: ขอบเขตองค์กรของผู้ใช้ใน Logto ใช้สำหรับเข้าถึงข้อมูลบทบาทขององค์กรของผู้ใช้
คำเตือน:

การร้องขอขอบเขตโปรไฟล์ผู้ใช้ที่ไม่ได้เปิดใช้งานในคำขอการอนุญาตจะส่งผลให้เกิดข้อผิดพลาด

สิทธิ์ทรัพยากร API (ขอบเขตทรัพยากร API)

Logto ให้การควบคุมการเข้าถึงตามบทบาท (RBAC) สำหรับทรัพยากร API ทรัพยากร API คือทรัพยากรที่เป็นเจ้าของโดยบริการของคุณและได้รับการปกป้องโดย Logto คุณสามารถกำหนดขอบเขต API ที่คุณสร้างเองให้กับแอปบุคคลที่สามเพื่อเข้าถึงทรัพยากร API ของคุณ ดูรายละเอียดเพิ่มเติมที่ การอนุญาต

คุณสามารถสร้างและจัดการขอบเขตของทรัพยากร API ได้ที่ Console > API resources

คำเตือน:

ขอบเขตทรัพยากร API ที่ไม่ได้เปิดใช้งานให้กับแอปบุคคลที่สามจะถูกละเว้นเมื่อส่งคำขอการอนุญาต จะไม่แสดงบนหน้าขอความยินยอมของผู้ใช้และจะไม่ได้รับสิทธิ์จาก Logto

สิทธิ์ขององค์กร (ขอบเขตองค์กร)

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

บันทึก:

เพื่อใช้สิทธิ์ขององค์กรใน Logto คุณต้องเปิดใช้งานขอบเขตผู้ใช้ urn:logto:scope:organizations มิฉะนั้นสิทธิ์ขององค์กรจะถูกละเว้นเมื่อส่งคำขอการอนุญาต

คุณสามารถกำหนดขอบเขตองค์กรของคุณเองได้ที่หน้าตั้งค่าเทมเพลตองค์กร ดูรายละเอียดเพิ่มเติมที่ Organization template

คำเตือน:

ขอบเขตองค์กรที่ไม่ได้เปิดใช้งานให้กับแอปบุคคลที่สามจะถูกละเว้นเมื่อส่งคำขอการอนุญาต จะไม่แสดงบนหน้าขอความยินยอมของผู้ใช้และจะไม่ได้รับสิทธิ์จาก Logto

สิทธิ์ OIDC เริ่มต้น

สิทธิ์ OIDC หลักจะถูกกำหนดให้อัตโนมัติสำหรับแอปของคุณ ขอบเขตเหล่านี้จำเป็นสำหรับการยืนยันตัวตน OIDC และจะไม่ปรากฏบนหน้าขอความยินยอมของผู้ใช้ แอป OAuth สามารถเลือกไม่ร้องขอขอบเขตเหล่านี้ได้หากไม่ต้องการยืนยันตัวตน OIDC

  1. openid: จำเป็นสำหรับการยืนยันตัวตน OIDC (ไม่บังคับสำหรับ OAuth เพียว) ให้ ID token และเข้าถึง userinfo_endpoint

  2. offline_access: ไม่บังคับ ใช้สำหรับดึง โทเค็นรีเฟรช เพื่อการเข้าถึงระยะยาวหรือการทำงานเบื้องหลัง