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

เข้าใจ flow การยืนยันตัวตน OIDC

Logto ถูกสร้างขึ้นบนมาตรฐาน OAuth 2.0 และ OpenID Connect (OIDC) การเข้าใจมาตรฐานการยืนยันตัวตนเหล่านี้จะช่วยให้กระบวนการเชื่อมต่อเป็นไปอย่างราบรื่นและตรงไปตรงมายิ่งขึ้น

Flow การยืนยันตัวตนของผู้ใช้​

นี่คือสิ่งที่เกิดขึ้นเมื่อผู้ใช้ลงชื่อเข้าใช้ด้วย Logto:

ใน flow นี้ มีแนวคิดสำคัญหลายประการที่จำเป็นสำหรับกระบวนการเชื่อมต่อ:

  • Application: หมายถึงแอปของคุณใน Logto คุณจะต้องสร้างการตั้งค่าแอปพลิเคชันใน Logto Console เพื่อเชื่อมต่อระหว่างแอปจริงของคุณกับบริการ Logto ดูเพิ่มเติมเกี่ยวกับ Application
  • Redirect URI: หลังจากผู้ใช้ยืนยันตัวตนบนหน้าลงชื่อเข้าใช้ของ Logto แล้ว Logto จะเปลี่ยนเส้นทางกลับไปยังแอปของคุณผ่าน URI นี้ คุณต้องกำหนดค่า Redirect URI ในการตั้งค่าแอปพลิเคชันของคุณ ดูรายละเอียดเพิ่มเติมที่ Redirect URIs
  • Handle sign-in callback: เมื่อ Logto เปลี่ยนเส้นทางผู้ใช้กลับไปยังแอปของคุณ แอปของคุณต้องประมวลผลข้อมูลการยืนยันตัวตนและขอโทเค็นการเข้าถึงและข้อมูลผู้ใช้ ไม่ต้องกังวล - Logto SDK จะจัดการให้อัตโนมัติ

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

Flow การยืนยันตัวตนแบบเครื่องต่อเครื่อง​

Logto มีประเภท แอปพลิเคชันเครื่องต่อเครื่อง (M2M) เพื่อรองรับการยืนยันตัวตนโดยตรงระหว่างบริการ โดยอิงกับ OAuth 2.0 Client Credentials flow:

flow การยืนยันตัวตนแบบเครื่องต่อเครื่อง (M2M) นี้ออกแบบมาสำหรับแอปพลิเคชันที่ต้องสื่อสารกับทรัพยากรโดยตรงโดยไม่ต้องมีการโต้ตอบกับผู้ใช้ (จึงไม่มี UI) เช่น บริการ API ที่อัปเดตข้อมูลผู้ใช้ใน Logto หรือบริการสถิติที่ดึงข้อมูลคำสั่งซื้อรายวัน

ใน flow นี้ บริการจะยืนยันตัวตนโดยใช้ client credentials ซึ่งเป็นการรวมกันของ Application ID และ Application Secret ที่ระบุและยืนยันตัวตนของบริการนั้น ๆ อย่างเฉพาะเจาะจง ข้อมูลรับรองเหล่านี้ทำหน้าที่เป็นตัวตนของบริการเมื่อขอ โทเค็นการเข้าถึง (access tokens) จาก Logto

Device flow (อุปกรณ์ที่ป้อนข้อมูลจำกัด)​

สำหรับอุปกรณ์ที่มีความสามารถในการป้อนข้อมูลจำกัด (เช่น สมาร์ททีวี เครื่องเล่นเกม เครื่องมือ CLI อุปกรณ์ IoT) Logto รองรับ OAuth 2.0 Device Authorization Grant อุปกรณ์จะแสดงรหัสและ URL ขณะที่ผู้ใช้ดำเนินการยืนยันตัวตนบนอุปกรณ์อื่นที่มีเบราว์เซอร์:

ใน flow นี้:

  • อุปกรณ์ขอ device code จาก Logto และได้รับ user_code สั้น ๆ กับ verification_uri
  • ผู้ใช้เข้าชม verification URL บนอุปกรณ์อื่น (เช่น โทรศัพท์ แล็ปท็อป) กรอกรหัส และลงชื่อเข้าใช้
  • อุปกรณ์ polling ไปยัง token endpoint จนกว่าผู้ใช้จะอนุญาตสำเร็จ จากนั้นจึงได้รับโทเค็น

แตกต่างจาก flow ผู้ใช้มาตรฐาน device flow ไม่ต้องการ Redirect URI หรือความสามารถเบราว์เซอร์บนอุปกรณ์เอง ดูเพิ่มเติมใน คู่มือเริ่มต้นอย่างรวดเร็วสำหรับ Device flow

Flow การยืนยันตัวตน SAML​

นอกจาก OAuth 2.0 และ OIDC แล้ว Logto ยังรองรับการยืนยันตัวตน SAML (Security Assertion Markup Language) โดยทำหน้าที่เป็นผู้ให้บริการข้อมูลระบุตัวตน (IdP) เพื่อเชื่อมต่อกับแอปพลิเคชันองค์กร ปัจจุบัน Logto รองรับ flow การยืนยันตัวตนแบบ SP-initiated:

SP-initiated flow​

ใน SP-initiated flow กระบวนการยืนยันตัวตนเริ่มต้นจาก Service Provider (แอปพลิเคชันของคุณ):

ใน flow นี้:

  • ผู้ใช้เริ่มต้นกระบวนการยืนยันตัวตนจากแอปพลิเคชันของคุณ (Service Provider)
  • แอปพลิเคชันของคุณสร้าง SAML request และเปลี่ยนเส้นทางผู้ใช้ไปยัง Logto (Identity Provider)
  • หลังจากยืนยันตัวตนกับ Logto สำเร็จ จะมี SAML response ส่งกลับไปยังแอปของคุณ
  • แอปของคุณประมวลผล SAML response และเสร็จสิ้นการยืนยันตัวตน

IdP-initiated flow​

Logto จะรองรับ IdP-initiated flow ในเวอร์ชันถัดไป ซึ่งจะทำให้ผู้ใช้สามารถเริ่มต้นกระบวนการยืนยันตัวตนได้โดยตรงจากพอร์ทัลของ Logto โปรดติดตามข่าวสารเกี่ยวกับฟีเจอร์นี้

การเชื่อมต่อ SAML นี้ช่วยให้แอปพลิเคชันองค์กรสามารถใช้ Logto เป็นผู้ให้บริการข้อมูลระบุตัวตน รองรับทั้ง Service Provider ที่ใช้ SAML แบบใหม่และแบบดั้งเดิม

บล็อก: ปกป้องแอปพลิเคชันบนคลาวด์ด้วย OAuth 2.0 และ OpenID Connect

ทำไม Single Sign-On (SSO) สำหรับหลายแอปพลิเคชันจึงดีกว่า

ทำไมคุณต้องมีระบบข้อมูลระบุตัวตนแบบศูนย์กลางสำหรับธุรกิจหลายแอป