文章 使用 SAML OAuth 客户端配置 SSO

兼容性

此功能与其他经过 SAML 认证的平台兼容,目前经过测试且确认支持的平台:

添加并配置客户端应用

根据您使用的 SAML 服务提供商,通常需要在该服务提供商中添加并配置某种应用或整合。如需更多信息,请查阅您所使用提供商的 SAML 文档。下面是使用 Microsoft Entra 配置 SAML 的指南。

  1. 注册 Microsoft Entra 账号
  2. 选择 “Enterprise applications”,点击 “New application”,跳转页面后,选择 “Create your own application”,输入您的应用名称,选择"Integrate any other application you don't find in the gallery (Non-gallery)"。
  3. 创建应用后,选择 “Single sign-on” -> SAML。
  4. 在 SAML 的设置页面,点击第一步 “Basic SAML Configuration” 的 “Edit”。
  5. 在弹出的设置窗口,在 “Identifier (Entity ID) ” 输入您的网站网址,以斜杠(/)结束。“Reply URL (Assertion Consumer Service URL) ” 输入您的网站 + samlresponse。示例如下图:
  6. 点击 “保存”。
  7. 复制生成的 “Login URL”,该地址将填入到插件 “SAML 认证 OAuth 客户端” 的 “SAML 身份提供商URL”。

配置插件

  1. 进入 Limyee CMS  系统管理,搜索插件 ”SAML 认证 OAuth 客户端“,或选择 ”认证“ -> 外部身份验证 -> ”SAML 认证 OAuth 客户端“。
  2. 在 ”SAML 身份提供商URL“ 输入上面创建的 SAML 应用中显示的 ”Login URL“。
  3. "证书颁发者指纹" 输入上面创建的 SAML 应用中显示的 “Thumbprint”。
  4. 选择 “已启用”,并保存。

回调 URL

当配置应用程序时,您需要指定相应的回调 URL。

类型 URL 描述
响应 https://{yourSiteURL}/samlresponse 用户通过身份验证后,授权信息回调的 URL。
请求 https://{yourSiteURL}/samlauthn 根据网站设定的 AuthN 绑定类型,向 SAML 服务商发起 AuthnRequest,用于验证用户的请求。
注销 https://{yourSiteURL}/samllogout 用户在 SAML 服务商会话终止后被重定向的URL,用于注销网站的登录。

配置 OpenID Connect 插件

您可以通过进入系统管理->认证->身份验证方法,然后选择“SAML 认证 OAuth 客户端”。建议您先配置所需的属性并保存,然后再选择“启用”选项。否则,您的网站认证流程将立即被替换,您可能需要使用应急管理登录来进一步配置该插件。

颁发者

选项 必填 默认 描述
SAML 身份提供商URL 是 这是 SAML 服务提供商的基础 URL。
身份提供者使用的 SAML 绑定类型 是 SAML20_POST SAML 服务提供商的交互协议。
证书颁发者指纹 是 由可信发行方使用的、用于验证 SAML 令牌的指纹,使用逗号分隔。
证书签发验证模式 是 None 验证 SAML 签名证书的颁发者
令牌主体接收验证模式 是 ExactMatch 用于验证 SAML 令牌主体接收的规则
用户名声明类型 是 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name 包含用户名的 SAML 属性名称。
电子邮件地址声明类型 是 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress 包含用户电子邮件地址的 SAML 属性名称。

AuthN

选项 必填 默认 描述
AuthN 绑定类型 是 Redirect

用于发起SAML登录的认证请求类型

  • IDP_Initiated:是一种简单的重定向,不包含认证数据
  • Redirect:包含 AuthnRequest 认证数据在重定向链接中
  • POST:使用 POST 方式向 IDP 发送AuthnRequest 认证数据
  • SignedRedirect:使用 AuthN 证书指纹加密 AuthnRequest 认证数据使用 Redirect
  • SignedPOST: 使用 AuthN 证书指纹加密 AuthnRequest 认证数据使用 POST
  • WSFededation: 使用 WSFededation 格式重定向
AuthN 证书指纹 否

应用程序池用户已被授予访问权限,访问位于本地机器/个人存储中的私钥指纹,用于签名 AuthN 认证请求类型

注销

选项 必填 默认 描述
注销行为 是 INTERNAL

控制网站如何使用注销链接

  • 内部链接:默认使用平台的注销功能
  • 外部链接:使用 IDP 的 Logout URL 重定向到网站的注销地址,必须在 IDP 上填入 Logout URL 为上面的注销回调 URL
  • IFRAME:使用 IDP 的 Logout URL 重定向到网站的注销地址,必须在 IDP 上填入 Logout URL 为上面的注销回调 URL
身份提供商注销链接 否

身份提供商注销链接