เปิดใช้งานการเข้าถึงแอปของคุณโดย 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 บุคคลที่สามเพื่อเข้าถึงบริการของคุณ ให้ดำเนินการตามขั้นตอนเหล่านี้:
- ลงทะเบียน AI agent ใน Logto: สร้างแอปพลิเคชันใน Logto เพื่อแทน AI agent
- กำหนดค่า AI agent: ให้แน่ใจว่า AI agent สามารถส่งคำขอไปยังบริการของคุณและจัดการกับการตอบกลับ 401 Unauthorized ได้
- ติดตั้งขั้นตอนการอนุญาต (Authorization flow): AI agent ควรสามารถจัดการ OAuth 2.0 authorization flow เพื่อขอรับ access token จาก Logto
- ทดสอบการผสาน: ใช้ AI agent เข้าถึงบริการของคุณและตรวจสอบว่าสามารถยืนยันตัวตนและอนุญาตคำขอได้สำเร็จ
กำหนดค่า AI agent ของบุคคลที่สามใน Logto
เพื่อให้ AI agent ของบุคคลที่สามสามารถเข้าถึง บริการของคุณ ได้ คุณต้องตั้งค่า แอปของบุคคลที่สาม ใน Logto แอปนี้จะใช้แทน AI agent และรับข้อมูลประจำตัวที่จำเป็นสำหรับการยืนยันตัวตน (Authentication) และการอนุญาต (Authorization)
แอปของบุคคลที่สาม คือแอปพลิเคชันที่สร้างโดยนักพัฒนาภายนอก (ไม่ใช่เจ้าของทรัพยากร) ซึ่งต้องได้รับความยินยอมจากผู้ใช้เพื่อเข้าถึงทรัพยากรที่ได้รับการปกป้อง แตกต่างจากแอปของเจ้าของ (first-party apps; แอปของคุณเอง) แอปของบุคคลที่สามจะแสดงหน้าขอความยินยอม (consent screen) เพื่อขออนุมัติสิทธิ์เฉพาะก่อนเข้าถึงข้อมูลของผู้ใช้ เพื่อให้แน่ใจว่าผู้ใช้สามารถควบคุมข้อมูลที่จะแชร์กับบริการภายนอกได้
ดูเพิ่มเติมที่ แอปพลิเคชันของบุคคลที่สาม
อนุญาตให้นักพัฒนาสร้างแอปของบุคคลที่สามใน Logto
หากคุณกำลังสร้าง marketplace หรืออยากให้นักพัฒนาสามารถสร้างแอปของบุคคลที่สามใน Logto ได้ คุณสามารถใช้ Logto Management API เพื่อสร้างแอปของบุคคลที่สามแบบโปรแกรมมิ่ง วิธีนี้จะช่วยให้นักพัฒนาสามารถลงทะเบียนแอปพลิเคชันของตนเองและรับข้อมูลประจำตัวที่จำเป็นสำหรับการยืนยันตัวตน
คุณจะต้องโฮสต์บริการของคุณเองเพื่อจัดการกระบวนการลงทะเบียน client โดยบริการนี้จะติดต่อกับ Logto Management API เพื่อสร้างแอปของบุคคลที่สามแทนนักพัฒนา
หรือ คุณสามารถสร้างแอปของบุคคลที่สามใน Logto Console ด้วยตนเองเพื่อทำความคุ้นเคยกับกระบวนการนี้
สร้างแอปของบุคคลที่สามใน Logto ด้วยตนเอง
คุณสามารถสร้างแอปของบุคคลที่สามใน Logto Console ด้วยตนเองเพื่อทดสอบหรือเชื่อมต่อแบบเฉพาะกิจ วิธีนี้เหมาะสำหรับการทดสอบการเชื่อมต่ออย่างรวดเร็วโดยไม่ต้องพัฒนากระบวนการลงทะเบียน client แบบเต็มรูปแบบ
-
ลงชื่อเข้าใช้ Logto Console ของคุณ
-
ไปที่ แอปพลิเคชัน → สร้างแอปพลิเคชัน → แอปของบุคคลที่สาม -> OIDC
-
กรอกชื่อแอปและข้อมูลที่จำเป็นอื่น ๆ จากนั้นคลิก สร้างแอปพลิเคชัน
-
คลิกแท็บ สิทธิ์ (Permissions) ในส่วน ผู้ใช้ (User) คลิก "เพิ่ม"
-
ในกล่องโต้ตอบที่เปิดขึ้น -> ข้อมูลผู้ใช้ (User data) -> เลือกสิทธิ์
profile,emailจากนั้นคลิก บันทึก -
ในแอปของบุคคลที่สาม ให้กำหนดค่า scopes เพื่อขอสิทธิ์
openid profile email(scopes)หมายเหตุ:
openidจำเป็นสำหรับ OIDC และprofileกับemailคือสิทธิ์ที่คุณเพิ่มในขั้นตอนก่อนหน้า -
กำหนดค่า redirect URI ของแอปของบุคคลที่สามของคุณให้ถูกต้อง และอย่าลืมอัปเดต redirect URI ใน Logto ด้วย
เบื้องหลังแล้ว แอปของบุคคลที่สามคือไคลเอนต์มาตรฐานของ OAuth 2.0 / OIDC ซึ่งหมายความว่าคุณ (หรือผู้พัฒนาแอปบุคคลที่สาม) สามารถใช้ไลบรารีหรือเฟรมเวิร์ก OAuth 2.0 / OIDC ใดก็ได้ในการเชื่อมต่อกับ Logto
ข้อควรคำนึงถึง:
- เมื่อสร้างแอปบุคคลที่สาม ให้เลือกประเภทแอปพลิเคชันที่เหมาะสมตามสถาปัตยกรรมของแอป:
- เว็บแบบดั้งเดิม: ใช้ client secret สำหรับการยืนยันตัวตน
- Single page app / Native: ใช้ PKCE เพื่อความปลอดภัยในการอนุญาตโดยไม่ต้องใช้ client secret
- คู่มือเริ่มต้นอย่างรวดเร็วส่วนใหญ่ของเราเขียนสำหรับแอป first-party แต่คุณยังสามารถใช้เป็นข้อมูลอ้างอิงสำหรับการเชื่อมต่อแอปบุคคลที่สามได้
- ความแตกต่างหลักคือแอปบุคคลที่สามจะแสดงหน้าขอความยินยอม (consent screen) เพื่อขออนุญาตจากผู้ใช้ในการเข้าถึงข้อมูลของพวกเขาโดยชัดแจ้ง
ดู แอปพลิเคชันบุคคลที่สาม สำหรับคู่มือการเชื่อมต่อฉบับสมบูรณ์
ตั้งค่าการอนุญาตในบริการของคุณ
เพื่อเปิดใช้งานการควบคุมการเข้าถึงในบริการของคุณ คุณต้องดำเนินการดังนี้:
- กำหนดทรัพยากร API ใน Logto: สร้างทรัพยากร API ใน Logto เพื่อแทน endpoint ที่ AI agent ของคุณจะเข้าถึง
- ติดตั้งตรรกะควบคุมการเข้าถึง: ในบริการของคุณ ให้ตรวจสอบ access token ที่ได้รับจาก AI agent และตรวจสอบว่าผู้ใช้มีสิทธิ์เข้าถึงทรัพยากรที่ร้องขอหรือไม่
- ตอบกลับ AI agent: หาก access token ถูกต้องและผู้ใช้มีสิทธิ์ ให้ส่งคืนทรัพยากรที่ร้องขอ หากไม่ ให้ส่งกลับ 401 Unauthorized
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการติดตั้งการควบคุมการเข้าถึงในบริการของคุณ โปรดดู คู่มือการอนุญาต ของเรา
ทดสอบการผสาน
- เริ่มต้นบริการของคุณ
- เริ่มต้น AI agent
- ใน AI agent ให้เรียก API endpoint เพื่อเข้าถึงบริการของคุณ
- AI agent ควรจัดการกับการตอบกลับ 401 Unauthorized และเปลี่ยนเส้นทางผู้ใช้ไปยัง Logto เพื่อยืนยันตัวตน
- หลังจากยืนยันตัวตนสำเร็จ AI agent ควรได้รับ access token และใช้มันในการส่งคำขอไปยังบริการของคุณ
- AI agent ควรสามารถดึงทรัพยากรจากบริการของคุณโดยใช้ access token ได้