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

การจัดการสิทธิ์ของแอป 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: ไม่บังคับ ใช้สำหรับดึง โทเค็นรีเฟรช เพื่อการเข้าถึงระยะยาวหรือการทำงานเบื้องหลัง