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

แอปบุคคลที่สาม (OAuth / OIDC)

การผสานรวมแอปพลิเคชันบุคคลที่สามของ Logto ช่วยให้คุณใช้ Logto เป็น ผู้ให้บริการข้อมูลระบุตัวตน (IdP) สำหรับแอปพลิเคชันภายนอก

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

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

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

Logto เป็นบริการข้อมูลระบุตัวตนที่สร้างขึ้นบนโปรโตคอล OpenID Connect (OIDC) ซึ่งให้ทั้ง การยืนยันตัวตน (Authentication) และ การอนุญาต (Authorization) การผสานรวมแอป OIDC บุคคลที่สามจึงง่ายเหมือนกับแอปเว็บทั่วไป

เนื่องจาก OIDC สร้างขึ้นบน OAuth 2.0 โดยเพิ่มชั้นการยืนยันตัวตน คุณจึงสามารถผสานรวมแอปบุคคลที่สามด้วยโปรโตคอล OAuth ได้เช่นกัน

สร้างแอปพลิเคชันบุคคลที่สามใน Logto

  1. ไปที่ Console > Applications
  2. เลือก "Third-party app" เป็นประเภทแอปพลิเคชันและเลือกหนึ่งในโปรโตคอลการผสานรวมต่อไปนี้:
    • OIDC / OAuth
  3. กรอกชื่อและคำอธิบายสำหรับแอปพลิเคชันของคุณ แล้วคลิกปุ่ม “Create” จะมีการสร้างแอปพลิเคชันบุคคลที่สามใหม่

แอปพลิเคชันบุคคลที่สามที่สร้างขึ้นทั้งหมดจะถูกจัดหมวดหมู่ไว้ในหน้า Applications ภายใต้แท็บ "Third-party apps" การจัดเรียงนี้ช่วยให้คุณแยกแยะออกจากแอปของคุณเองและจัดการแอปทั้งหมดได้ง่ายขึ้นในที่เดียว

ตั้งค่าการกำหนดค่า OIDC

บันทึก:

ก่อนตั้งค่าการกำหนดค่า OIDC โปรดตรวจสอบว่าคุณได้ สร้างแอป OIDC บุคคลที่สาม แล้ว

  1. ระบุ redirect URI ของแอป OIDC บุคคลที่สามของคุณ นี่คือ URL ที่แอปพลิเคชันบุคคลที่สามจะเปลี่ยนเส้นทางผู้ใช้กลับมาหลังจากได้รับการยืนยันตัวตนโดย Logto โดยปกติคุณจะพบข้อมูลนี้ในหน้าตั้งค่าการเชื่อมต่อ IdP ของแอปพลิเคชันบุคคลที่สาม

  2. ดึง client ID และ client secret จากหน้ารายละเอียดแอป Logto แล้วกรอกลงในหน้าตั้งค่าการเชื่อมต่อ IdP ของผู้ให้บริการของคุณ

  3. ดึง authorization endpoint และ token endpoint จากหน้ารายละเอียดแอป Logto แล้วแจ้งให้ผู้ให้บริการของคุณทราบ หากผู้ให้บริการของคุณรองรับ OIDC discovery คุณสามารถคัดลอก discovery endpoint จากหน้ารายละเอียดแอป Logto แล้วแจ้งให้ผู้ให้บริการของคุณทราบ ผู้ให้บริการจะสามารถดึงข้อมูล OIDC authentication ล่าสุดทั้งหมดจาก discovery endpoint ได้โดยอัตโนมัติ หากไม่รองรับ ให้คลิกปุ่ม Show endpoint details เพื่อดู endpoint การยืนยันตัวตน OIDC ทั้งหมด

เพื่อความปลอดภัย แอป OIDC บุคคลที่สามทั้งหมดจะถูกเปลี่ยนเส้นทางไปยัง หน้าขอความยินยอม (consent screen) เพื่อขอการอนุญาตจากผู้ใช้หลังจากได้รับการยืนยันตัวตนโดย Logto

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

สิทธิ์ที่ร้องขอเหล่านี้จะถูกอนุมัติให้แอปพลิเคชันบุคคลที่สามก็ต่อเมื่อผู้ใช้คลิกปุ่ม "Authorize" เท่านั้น

consent screen

ดำเนินการต่อ

คำถามที่พบบ่อย

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

วิธีจัดการ:

  • กำหนด บทบาทระดับโกลบอล หรือ บทบาทองค์กร พร้อมขอบเขตเฉพาะ
  • กำหนดบทบาทให้ผู้ใช้ตามความต้องการในการเข้าถึง
  • ผู้ใช้จะได้รับขอบเขตจากบทบาทโดยอัตโนมัติ

กรณีศึกษา: ผสานรวม Apache Answer เพื่อสร้างชุมชนสำหรับผู้ใช้ของคุณ

การใช้ Logto เป็นผู้ให้บริการข้อมูลระบุตัวตน (IdP) สำหรับบุคคลที่สาม