使用SSO登录
概述
单点登录 (SSO) 允许用户在一地注册,多地使用。 本文表述了在MCSManager上使用SSO的步骤。
开始前准备
- 确保你对此MCSManager实例拥有管理权限
- 你必须拥有一个SSO IdP,例如Keycloak或Authentik
概念解释 - IdP
Identity Provider的缩写。
指在SAML/OIDC中,提供身份认证的一方。
示例配置
使用 authentik 作为 SSO IdP
json
{
[...]
"ssoEnabled": true,
"ssoType": "oidc",
"ssoOnlyMode": true,
"ssoAutoRedirect": false,
"ssoProviderName": "Authentik",
"ssoIconUrl": "",
"ssoIssuer": "https://auth.example.com/application/o/mcsm/",
"ssoAuthorizeUrl": "https://auth.example.com/application/o/authorize/",
"ssoTokenUrl": "https://auth.example.com/application/o/token/",
"ssoUserinfoUrl": "https://auth.example.com/application/o/userinfo/",
"ssoUserIdField": "sub",
"ssoScopes": "openid profile email",
"ssoClientId": "CLIENT-ID",
"ssoClientSecret": "SUPER-SECRET-SECRET",
"ssoCallbackUrl": "https://mcsm.example.com/api/auth/sso/callback/",
}"ssoEnabled" <- 启用SSO
"ssoType" <- SSO种类(OIDC/OAuth2)
"ssoOnlyMode" <- 仅使用SSO登录,禁用内置用户登录
"ssoAutoRedirect" <- 用户访问登录页面时立即重定向至IdP页面
"ssoProviderName" <- IdP在登录页面上的显示名称
"ssoIconUrl" <- IdP在登录页面上的图标
"ssoIssuer" <- Issuer URL
"ssoAuthorizeUrl" <- Authorize URL
"ssoTokenUrl" <- Token URL
"ssoUserinfoUrl" <- 用户信息URL
"ssoUserIdField" <- User ID claim (May differ for each SSO Provider)
"ssoScopes" <- Scopes
"ssoClientId" <- SSO Client ID
"ssoClientSecret" <- SSO Client Secret
"ssoCallbackUrl" <- 回调地址[!NOTE] 部分由于本人能力原因未能完全翻译,您可能需要自行查阅对应IdP/网络文档
请注意替换域名
测试
尝试使用您的身份验证登录MCSManager
您应当被提示需要绑定一个SSO账户
问题解决
- 确保回调地址、重定向地址、允许的Origin等在IdP处配置完好
MCSManager