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

เชื่อมต่อผู้ให้บริการ OpenID Connect

ใช้คู่มือนี้เมื่อผู้ให้บริการตัวตนของคุณพูด OpenID Connect แทน SAML ผู้ออกที่ผ่านการรับรอง OIDC รายใดก็ใช้ได้ — Pocket ID, Keycloak, Auth0, Zitadel, Google Workspace และรายอื่น ๆ ล้วนทำตามขั้นตอนเดียวกัน ต่างกันแค่จุดที่ผู้ให้บริการของคุณแสดงค่าเหล่านั้น

  • ผู้ให้บริการ OIDC ที่คุณสร้างไคลเอนต์ได้ — จด client id และ URL ผู้ออก ของมันไว้ (base ที่เอกสาร .well-known/openid-configuration อาศัยอยู่) รวมทั้ง client secret ของมันเมื่อไคลเอนต์เป็นแบบ confidential (ไคลเอนต์ PKCE สาธารณะไม่มี secret),
  • เซิร์ฟเวอร์ Control Center ที่คุณดูแล (ในฐานะเจ้าของเซิร์ฟเวอร์)
  1. เปิด การตั้งค่า → เซิร์ฟเวอร์ → ลงชื่อเข้าใช้ครั้งเดียว แล้วสลับไปที่ OpenID Connect
  2. กรอก URL ผู้ออก และ Client ID รวมทั้ง Client secret (ไม่บังคับ) เมื่อผู้ให้บริการออกให้ Control Center จะค้นหาเอนด์พอยต์จาก เอกสาร discovery มาตรฐานของผู้ออกเอง — ไม่ต้องตั้งค่าเฉพาะผู้ให้บริการแต่ละราย
  3. ที่ฝั่งผู้ให้บริการ ให้ลงทะเบียน redirect https://<your-server>/oidc/callback กับไคลเอนต์นั้น
  4. หากกลุ่มของคุณอยู่ใน claim อื่นที่ไม่ใช่ groups ให้ตั้งชื่อ เคลมกลุ่ม และแมปกลุ่มเป็นบทบาทได้หากต้องการ (SSO ไม่มีทาง ให้บทบาทเจ้าของได้)
  5. เลือกนโยบายสมาชิก (เพิ่มเข้าทุกเวิร์กสเปซอัตโนมัติ หรือบังคับให้เชิญ เป็นรายเวิร์กสเปซ) เปิด ใช้ OpenID Connect สำหรับลงชื่อเข้าใช้ แล้ว กด บันทึกการเชื่อมต่อ
  6. กด ทดสอบการเชื่อมต่อ — เซิร์ฟเวอร์จะดึงเอกสาร discovery ของผู้ออกและยืนยันเอนด์พอยต์ของมัน ดังนั้นทอสต์สีเขียวหมายความว่าทุกอย่าง ยกเว้นการไปกลับผ่านเบราว์เซอร์ทำงานได้ หากต้องการตรวจการลงทะเบียน ไคลเอนต์ด้วย ให้ใช้ตัวตรวจสอบด้านล่าง
  7. ลองลงชื่อเข้าใช้ดู: หน้าจอเชื่อมต่อบนเว็บจะแสดง ลงชื่อเข้าใช้ด้วย OpenID Connect หรือเปิด https://<your-server>/oidc/login โดยตรง

Claims (อีเมล ชื่อ กลุ่ม) ถูกอ่านจาก token endpoint ของผู้ออกผ่าน TLS โดยเซิร์ฟเวอร์ของคุณ — เบราว์เซอร์ไม่เคยเป็นผู้ส่งค่าเหล่านี้ จึงไม่มีการ ตรวจสอบลายเซ็น JWT ในเครื่องเข้ามาเกี่ยวข้อง ไคลเอนต์ควรได้รับอนุญาตให้ร้องขอ scope openid profile email ซึ่งเป็นสิ่งที่ Control Center ขอพอดี

เนื่องจากช่องทาง TLS นั้นเป็นสิ่งเดียวที่ยืนยันความถูกต้องของ claims URL ผู้ออกจึงต้องเป็น https — ผู้ออกที่เป็น plaintext จะเปิดทางให้ ผู้โจมตีบนเส้นทางปลอมแปลงตัวตนได้ทั้งหมด ระบบยอมรับ http เฉพาะกับผู้ออกแบบ loopback (localhost, 127.0.0.1, ::1) เท่านั้น สำหรับการพัฒนาภายในเครื่อง

ตัวตรวจสอบด้านล่างทำงานในเบราว์เซอร์ของคุณ มันดึงเอกสาร discovery ของผู้ออกของคุณโดยตรง เว็บไซต์นี้จึงไม่เคยเห็นมัน และนำกฎของเซิร์ฟเวอร์มา ปรับใช้: ผู้ออกที่เป็น https ซึ่งตรงกับเอกสาร เอนด์พอยต์บน origin ของผู้ออกเอง PKCE S256 และวิธีตรวจสอบสิทธิ์โทเคนที่ชนิดไคลเอนต์ของคุณต้องใช้ เมื่อมี client ID และที่อยู่เซิร์ฟเวอร์ มันจะเปิดการลงชื่อเข้าใช้ทดสอบที่บอกว่า ไคลเอนต์และ redirect URI ของมันลงทะเบียนไว้แล้วหรือไม่ มันไม่เคยขอ client secret

Runs in your browserYour browser fetches the discovery document straight from your issuer. Add a server address and it also asks that server which sign-in methods it offers. This site never receives what you type.

Needed for the test sign-in.

Client type

Never paste the secret here. The check only needs to know whether one exists.

The address your users open. Adds a reachability check and a test sign-in.

Paste the discovery document instead

For providers that block other sites from reading it.