OIDC是OpenID Connect的简称,它在OAuth2上构建了一个身份层,是一个基于OAuth2协议的身份验证标准协议。
發現文檔地址: https://sso.foxconn.com/.well-known/openid-configuration
原理如下圖。
了解更多
安全断言标记语言(英语:Security Assertion Markup Language,简称SAML,发音sam-el)是一个基于XML的开源标准数据格式,它在当事方之间交换身份验证和授权数据,尤其是在身份提供者和服务提供者之间交换。
(IDP服務器)MetaData文件下載: https://sso.foxconn.com/saml/metadata
如果需要指定登錄用戶工號,需要在登錄請求的Url地址中加入login_hint參數,格式為:
https://sso.foxconn.com/saml/sso?SAMLRequest=[Base64編碼的請求信息]&RelayState=[隨機數opaque]&Signature=[簽名/可選項]&login_hint=[指定工號/可選項]
中央授權中心提供以上兩種服務協議,推薦使用:OIDC。
OIDC是一個標準協議,在開發時可以使用一中間件來加快開發速度。
如:asp.net/asp.net core:可以使用 Microsoft.AspNetCore.Authentication.OpenIdConnect 套件來快速集成 OIDC 協議。
Java:可以使用 Spring Security OAuth2 或 Keycloak Adapter。
Python:可以使用 Flask-OIDC 或 Django-OIDC 等。
Node.js:可以使用 Passport.js 的 OIDC 策略。
若實際開發中不使用中間件,建議使用OIDC完全支持的底層OAuth2.0協議來開發。簡單源碼說明