ตั้งค่าการเข้าสู่ระบบโซเชียลด้วย GitLab (Set up social login with GitLab)
ตัวเชื่อมต่อ Logto อย่างเป็นทางการสำหรับการเข้าสู่ระบบโซเชียลด้วย GitLab ใช้ GitLab เป็นผู้ให้บริการข้อมูลระบุตัวตน (IdP) สำหรับการยืนยันตัวตนด้วย OAuth 2.0
คู่มือนี้สมมติว่าคุณมีความเข้าใจพื้นฐานเกี่ยวกับ ตัวเชื่อมต่อ (Connectors) ของ Logto หากคุณยังไม่คุ้นเคย โปรดดูคู่มือ ตัวเชื่อมต่อ (Connectors) เพื่อเริ่มต้น
เริ่มต้นใช้งาน
ตัวเชื่อมต่อ GitLab ช่วยให้ผู้ใช้ปลายทางสามารถลงชื่อเข้าใช้แอปพลิเคชันของคุณด้วยบัญชี GitLab ของตนเองผ่านโปรโตคอลการยืนยันตัวตน OAuth 2.0 ของ GitLab
ลงชื่อเข้าใช้ด้วยบัญชี GitLab
ไปที่ เว็บไซต์ GitLab และลงชื่อเข้าใช้ด้วยบัญชี GitLab ของคุณ คุณสามารถสมัครบัญชีใหม่ได้หากยังไม่มีบัญชี
สร้างและตั้งค่าแอป OAuth
ทำตามคู่มือ การสร้าง GitLab OAuth App และลงทะเบียนแอปพลิเคชันใหม่
ตั้งชื่อแอป OAuth ใหม่ของคุณในช่อง Name และกรอก Redirect URI ของแอป กำหนดค่า Redirect URIs เป็น ${your_logto_origin}/callback/${connector_id}
โดยสามารถดู connector_id
ได้ที่แถบด้านบนของหน้ารายละเอียดตัวเชื่อมต่อใน Logto Admin Console
ในส่วน scopes ให้เลือก openid
คุณอาจต้องการเปิดใช้งาน profile
และ email
ด้วย โดย profile
scope จำเป็นสำหรับการดึงข้อมูลโปรไฟล์ของผู้ใช้ และ email
scope จำเป็นสำหรับการดึงที่อยู่อีเมลของผู้ใช้ ตรวจสอบให้แน่ใจว่าคุณได้อนุญาต scopes เหล่านี้ในแอป GitLab OAuth ของคุณหากต้องการใช้งาน โดย scopes เหล่านี้จะถูกใช้ในการตั้งค่าตัวเชื่อมต่อของคุณในขั้นตอนถัดไปด้วย
- หากคุณใช้โดเมนแบบกำหนดเอง ให้เพิ่มทั้งโดเมนที่กำหนดเองและโดเมน Logto เริ่มต้นลงใน Redirect URIs เพื่อให้ OAuth flow ทำงานได้ถูกต้องกับทั้งสองโดเมน
- หากคุณพบข้อความแสดงข้อผิดพลาด "The redirect_uri MUST match the registered callback URL for this application." ขณะเข้าสู่ระบบ ให้ลองปรับ Redirect URI ของ GitLab OAuth App และ URL สำหรับ redirect ของ Logto App ของคุณ (รวมถึง protocol) ให้ตรงกันเพื่อแก้ไขปัญหา
จัดการแอป OAuth
ไปที่ หน้าจัดการแอปพลิเคชัน บน GitLab ซึ่งคุณสามารถเพิ่ม แก้ไข หรือลบแอป OAuth ที่มีอยู่ได้ คุณยังสามารถดู Application ID
และสร้าง Secret
ได้ในหน้ารายละเอียดของแอป OAuth
ตั้งค่าตัวเชื่อมต่อของคุณ
กรอกข้อมูลในช่อง clientId
และ clientSecret
ด้วย Application ID และ Secret ที่คุณได้รับจากหน้ารายละเอียดแอป OAuth ตามที่กล่าวไว้ในส่วนก่อนหน้า
scope
คือรายการ scopes ที่คั่นด้วยช่องว่าง หากไม่ได้ระบุ scope จะถูกตั้งค่าเป็น openid
โดยอัตโนมัติ สำหรับตัวเชื่อมต่อ GitLab คุณอาจต้องการใช้ openid
, profile
และ email
โดย profile
scope จำเป็นสำหรับการดึงข้อมูลโปรไฟล์ของผู้ใช้ และ email
scope จำเป็นสำหรับการดึงที่อยู่อีเมลของผู้ใช้ ตรวจสอบให้แน่ใจว่าคุณได้อนุญาต scopes เหล่านี้ในแอป GitLab OAuth ของคุณ (ตั้งค่าในส่วน สร้างและตั้งค่าแอป OAuth)
ประเภทของการตั้งค่า
Name | Type |
---|---|
clientId | string |
clientSecret | string |
scope | string |
ทดสอบตัวเชื่อมต่อ GitLab
เรียบร้อยแล้ว ตัวเชื่อมต่อ GitLab ควรพร้อมใช้งาน อย่าลืม เปิดใช้งานตัวเชื่อมต่อในประสบการณ์การลงชื่อเข้าใช้
แหล่งข้อมูลอ้างอิง
GitLab - เอกสาร API (API Documentation)GitLab - OAuth Applications