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

เปิดใช้งานการเข้าถึงแอปของคุณโดย AI agent บุคคลที่สาม

คู่มือนี้จะแนะนำวิธีการผสาน Logto เข้ากับบริการของคุณและเปิดให้ AI agent เข้าถึงบริการนั้น

คุณจะได้เรียนรู้วิธี:

  • กำหนดค่า Logto เป็นเซิร์ฟเวอร์การอนุญาต (Authorization server) สำหรับบริการของคุณ
  • รับโทเค็นการเข้าถึง (Access token) สำหรับ AI agent เพื่อเข้าถึงบริการของคุณ
  • ทดสอบขั้นตอนการทำงานกับ AI agent

ความแตกต่างระหว่าง AI agent บุคคลที่สามกับ AI agent (หรือแอป) ของคุณเอง

ลองดูตัวอย่าง สมมติว่าคุณเป็นนักพัฒนาที่ให้บริการข้อมูลสภาพอากาศ

แอปสภาพอากาศอย่างเป็นทางการ (AI agent / แอปของคุณเอง)

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

AI agent บุคคลที่สาม

  • คุณสร้าง ecosystem รอบบริการของคุณ นักพัฒนาคนอื่นจึงสร้าง "WeatherBot" (ผู้ช่วย AI ที่ให้ข้อมูลและพยากรณ์อากาศ) โดยผสานเป็น AI agent บุคคลที่สาม
  • วิธีการทำงาน: WeatherBot (AI agent บุคคลที่สาม) ต้องการเข้าถึงข้อมูลสภาพอากาศของผู้ใช้ผ่านบริการของคุณ เมื่อ Alice ลงชื่อเข้าใช้ WeatherBot ด้วยบัญชีของเธอ:
    • เธอจะเห็นหน้าขอความยินยอม (Consent screen) เพื่อขออนุญาตให้ WeatherBot เข้าถึงข้อมูลสภาพอากาศของเธอ
    • Alice สามารถอนุญาตหรือปฏิเสธการเข้าถึงนี้ได้
    • เฉพาะข้อมูลที่ Alice ยินยอมเท่านั้นที่จะถูกแชร์กับ WeatherBot และ WeatherBot จะไม่สามารถเข้าถึงข้อมูลเพิ่มเติมได้หากไม่ได้รับความยินยอมใหม่อย่างชัดเจน

การควบคุมการเข้าถึง (Permission) นี้ช่วยให้ข้อมูลผู้ใช้ปลอดภัย แม้ว่าบริการของคุณจะจัดการข้อมูลทั้งหมด แต่ AI agent บุคคลที่สามอย่าง WeatherBot จะเข้าถึงได้เฉพาะสิ่งที่ผู้ใช้อนุญาตอย่างชัดเจนเท่านั้น พวกเขาไม่สามารถข้ามขั้นตอนนี้ได้ เพราะระบบควบคุมการเข้าถึงของคุณบังคับใช้ไว้อย่างเข้มงวด

สรุป

ประเภทไคลเอนต์ตัวอย่างต้องขอความยินยอม?ใครควบคุม?
แอปสภาพอากาศอย่างเป็นทางการแอปสภาพอากาศของคุณเองไม่คุณ (นักพัฒนา)
AI agent บุคคลที่สามผู้ช่วย WeatherBotใช่นักพัฒนาคนอื่น
บันทึก:

หากคุณต้องการผสานบริการของคุณกับ AI agent หรือแอปของคุณเอง โปรดดู คู่มือเริ่มต้นอย่างรวดเร็ว ของเรา

ข้อกำหนดเบื้องต้น

  • มี Logto Cloud (หรือแบบ self-hosted) tenant
  • มีบริการที่เปิด API endpoint ให้ AI agent เข้าถึง

ทำความเข้าใจขั้นตอนการทำงาน

  • Service: บริการที่คุณต้องการเปิดให้ AI agent เข้าถึง
  • AI agent: AI agent ที่จะเข้าถึงบริการของคุณ
  • Logto: ทำหน้าที่เป็น OpenID Connect provider (เซิร์ฟเวอร์การอนุญาต) และจัดการข้อมูลระบุตัวตนผู้ใช้

ไดอะแกรมลำดับ (sequence diagram) ด้านล่างแสดงภาพรวมของขั้นตอนการทำงาน:

ตั้งค่า AI agent บุคคลที่สาม

ในการตั้งค่า AI agent บุคคลที่สามเพื่อเข้าถึงบริการของคุณ ให้ดำเนินการตามขั้นตอนเหล่านี้:

  1. ลงทะเบียน AI agent ใน Logto: สร้างแอปพลิเคชันใน Logto เพื่อแทน AI agent
  2. กำหนดค่า AI agent: ให้แน่ใจว่า AI agent สามารถส่งคำขอไปยังบริการของคุณและจัดการกับการตอบกลับ 401 Unauthorized ได้
  3. ติดตั้งขั้นตอนการอนุญาต (Authorization flow): AI agent ควรสามารถจัดการ OAuth 2.0 authorization flow เพื่อขอรับ access token จาก Logto
  4. ทดสอบการผสาน: ใช้ AI agent เข้าถึงบริการของคุณและตรวจสอบว่าสามารถยืนยันตัวตนและอนุญาตคำขอได้สำเร็จ

ตั้งค่าตัวแทน AI ของบุคคลที่สามใน Logto

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

แอปของบุคคลที่สามคืออะไร?:

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

ดูเพิ่มเติมที่ แอปพลิเคชันของบุคคลที่สาม

มี 3 วิธีในการเชื่อมต่อ AI agent:

อนุญาตให้นักพัฒนาสร้างแอปของบุคคลที่สามใน Logto

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

คุณต้องโฮสต์บริการของคุณเองเพื่อจัดการกระบวนการลงทะเบียน client บริการนี้จะติดต่อกับ Logto Management API เพื่อสร้างแอปของบุคคลที่สามแทนนักพัฒนา

หรือ คุณสามารถสร้างแอปของบุคคลที่สามใน Logto Console ด้วยตนเองเพื่อทำความคุ้นเคยกับกระบวนการนี้

อนุญาตให้ AI agent ใด ๆ เชื่อมต่อได้โดยไม่ต้องลงทะเบียนล่วงหน้า

ในระบบนิเวศ MCP แบบเปิด คุณมักจะไม่รู้จัก agent ล่วงหน้า Dynamic app จะตัดขั้นตอนการลงทะเบียนออก: agent ใช้ URL HTTPS สาธารณะซึ่งให้บริการ client metadata document ของตนเองเป็น client_id และ Logto จะดึงข้อมูลนี้เมื่อมีคำขอการอนุญาต (authorization request) เข้ามา

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

สร้างแอปของบุคคลที่สามใน Logto ด้วยตนเอง

คุณสามารถสร้างแอปของบุคคลที่สามใน Logto Console ด้วยตนเองเพื่อทดสอบหรือเชื่อมต่อแบบ ad-hoc วิธีนี้เหมาะสำหรับการทดสอบการเชื่อมต่ออย่างรวดเร็วโดยไม่ต้องพัฒนา flow การลงทะเบียน client แบบเต็มรูปแบบ

  1. ลงชื่อเข้าใช้ Logto Console ของคุณ

  2. ไปที่ ApplicationsCreate applicationThird-party app -> OIDC

  3. กรอกชื่อแอปและข้อมูลที่จำเป็นอื่น ๆ จากนั้นคลิก Create application

  4. คลิกแท็บ Permissions ในส่วน User คลิก "Add"

  5. ใน dialog ที่เปิดขึ้น -> User data -> เลือกสิทธิ์ profile, email จากนั้นคลิก Save

  6. ในแอปของบุคคลที่สาม ให้กำหนด scopes เพื่อร้องขอสิทธิ์ openid profile email (scopes)

    หมายเหตุ: openid จำเป็นสำหรับ OIDC และ profile กับ email คือสิทธิ์ที่คุณเพิ่มในขั้นตอนก่อนหน้า

  7. กำหนด redirect URI ของแอปของบุคคลที่สามของคุณให้ถูกต้อง และอย่าลืมอัปเดต redirect URI ใน Logto ด้วย

Third-party app permissions

เบื้องหลังแล้ว แอปของบุคคลที่สามคือไคลเอนต์มาตรฐานของ OAuth 2.0 / OIDC ซึ่งหมายความว่าคุณ (หรือผู้พัฒนาแอปบุคคลที่สาม) สามารถใช้ไลบรารีหรือเฟรมเวิร์ก OAuth 2.0 / OIDC ใดก็ได้ในการเชื่อมต่อกับ Logto

ข้อควรคำนึงถึง:

  1. เมื่อสร้างแอปบุคคลที่สาม ให้เลือกประเภทแอปพลิเคชันที่เหมาะสมตามสถาปัตยกรรมของแอป:
    • เว็บแบบดั้งเดิม: ใช้ client secret สำหรับการยืนยันตัวตน
    • Single page app / Native: ใช้ PKCE เพื่อความปลอดภัยในการอนุญาตโดยไม่ต้องใช้ client secret
  2. คู่มือเริ่มต้นอย่างรวดเร็วส่วนใหญ่ของเราเขียนสำหรับแอป first-party แต่คุณยังสามารถใช้เป็นข้อมูลอ้างอิงสำหรับการเชื่อมต่อแอปบุคคลที่สามได้
  3. ความแตกต่างหลักคือแอปบุคคลที่สามจะแสดงหน้าขอความยินยอม (consent screen) เพื่อขออนุญาตจากผู้ใช้ในการเข้าถึงข้อมูลของพวกเขาโดยชัดแจ้ง

ดู แอปพลิเคชันบุคคลที่สาม สำหรับคู่มือการเชื่อมต่อฉบับสมบูรณ์

ตั้งค่าการอนุญาตในบริการของคุณ

เพื่อเปิดใช้งานการควบคุมการเข้าถึงในบริการของคุณ คุณต้องดำเนินการดังนี้:

  1. กำหนดทรัพยากร API ใน Logto: สร้างทรัพยากร API ใน Logto เพื่อแทน endpoint ที่ AI agent ของคุณจะเข้าถึง
  2. ติดตั้งตรรกะควบคุมการเข้าถึง: ในบริการของคุณ ให้ตรวจสอบ access token ที่ได้รับจาก AI agent และตรวจสอบว่าผู้ใช้มีสิทธิ์เข้าถึงทรัพยากรที่ร้องขอหรือไม่
  3. ตอบกลับ AI agent: หาก access token ถูกต้องและผู้ใช้มีสิทธิ์ ให้ส่งคืนทรัพยากรที่ร้องขอ หากไม่ ให้ส่งกลับ 401 Unauthorized

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการติดตั้งการควบคุมการเข้าถึงในบริการของคุณ โปรดดู คู่มือการอนุญาต ของเรา

ทดสอบการผสาน

  1. เริ่มต้นบริการของคุณ
  2. เริ่มต้น AI agent
  3. ใน AI agent ให้เรียก API endpoint เพื่อเข้าถึงบริการของคุณ
  4. AI agent ควรจัดการกับการตอบกลับ 401 Unauthorized และเปลี่ยนเส้นทางผู้ใช้ไปยัง Logto เพื่อยืนยันตัวตน
  5. หลังจากยืนยันตัวตนสำเร็จ AI agent ควรได้รับ access token และใช้มันในการส่งคำขอไปยังบริการของคุณ
  6. AI agent ควรสามารถดึงทรัพยากรจากบริการของคุณโดยใช้ access token ได้