Custom OAuth
Casdoor รองรับผู้ให้บริการแบบกำหนดเอง อย่างไรก็ตาม ผู้ให้บริการแบบกำหนดเองต้องปฏิบัติตามกระบวนการมาตรฐานของ OAuth 3-legged และค่าที่ส่งกลับของ Token URL
และ UserInfo URL
ต้องสอดคล้องกับรูปแบบที่ Casdoor กำหนด
เพื่อสร้างผู้ให้บริการแบบกำหนดเองใหม่ ไปที่หน้าผู้ให้บริการของ Casdoor และเลือก "Custom" ในช่อง Type จากนั้นคุณจะต้องกรอก Client ID
, Client Secret
, Auth URL
, Scope
,Token URL
, UserInfo URL
, และ Favicon
Auth URL
เป็นที่อยู่หน้าเว็บ OAuth สำหรับการเข้าสู่ระบบของผู้ให้บริการแบบกำหนดเองหากคุณกรอก
https://door.casdoor.com/login/oauth/authorize
เป็นAuth URL
แล้ว เมื่อผู้ใช้เข้าสู่ระบบด้วยผู้ให้บริการแบบกำหนดเองนี้ เบราว์เซอร์จะเปลี่ยนเส้นทางไปยังhttps://door.casdoor.com/login/oauth/authorize?client_id={ClientID}&redirect_uri=https://{your-casdoor-hostname}/callback&state={State_generated_by_Casdoor}&response_type=code&scope={Scope}
หลังจากที่การอนุญาตเสร็จสิ้นแล้ว ผู้ให้บริการแบบกำหนดเองควรเปลี่ยนเส้นทางไปยัง
https://{your-casdoor-hostname}/callback?code={code}
หลังจากขั้นตอนนี้ Casdoor จะรู้จักพารามิเตอร์ code ใน URL
Scope
เป็นพารามิเตอร์ scope ที่ใช้เมื่อเข้าถึงAuth URL
และคุณควรกรอกตามที่ผู้ให้บริการแบบกำหนดเองกำหนดToken URL
เป็นจุดสิ้นสุด API สำหรับการรับ accessTokenเมื่อคุณได้รับ code ในขั้นตอนก่อนหน้านี้ Casdoor ควรใช้มันเพื่อรับ accessToken
หากคุณกรอก
https://door.casdoor.com/api/login/oauth/access_token
เป็นToken URL
แล้ว Casdoor จะเข้าถึงมันโดยใช้คำสั่งต่อไปนี้curl -X POST -u "{ClientID}:{ClientSecret}" --data-binary "code={code}&grant_type=authorization_code&redirect_uri=https://{your-casdoor-hostname}/callback" https://door.casdoor.com/api/login/oauth/access_token
ผู้ให้บริการแบบกำหนดเองควรส่งคืนข้อมูลอย่างน้อยต่อไปนี้:
{
"access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6Ixxxxxxxxxxxxxx",
"refresh_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6xxxxxxxxxxxxxx",
"token_type": "Bearer",
"expires_in": 10080,
"scope": "openid profile email"
}UserInfo URL
เป็นจุดสิ้นสุด API สำหรับการรับข้อมูลผู้ใช้ผ่าน accessTokenหากคุณกรอก
https://door.casdoor.com/api/userinfo
เป็นUserInfo URL
แล้ว Casdoor จะเข้าถึงมันโดยใช้คำสั่งต่อไปนี้curl -X GET -H "Authorization: Bearer {accessToken}" https://door.casdoor.com/api/userinfo
ผู้ให้บริการแบบกำหนดเองควรส่งคืนข้อมูลอย่างน้อยต่อไปนี้:
{
"name": "admin",
"preferred_username": "Admin",
"email": "admin@example.com",
"picture": "https://casbin.org/img/casbin.svg"
}Favicon
เป็น URL ของโลโก้สำหรับผู้ให้บริการแบบกำหนดเองโลโก้นี้จะถูกแสดงบนหน้าเข้าสู่ระบบของ Casdoor ร่วมกับผู้ให้บริการเข้าสู่ระบบบุคคลที่สามอื่นๆ