Keycloak IdP
简介
单点登录 (SSO) 是一种允许用户只需登录一次即可访问多个应用程序/服务而无需重新身份验证的技术。
如果一个网页门户包含多个大型独立部分(论坛、聊天、博客等),用户可以在其中一个服务内完成身份验证,即可自动访问所有其他服务,而无需多次输入凭据。
SSO 始终由两个应用程序的联合运行来确保:身份提供商和服务提供商(也称为“IdP”和“SP”)。ONLYOFFICE SSO 仅实现 SP。许多不同的提供商都可以充当 IdP,但本文主要讨论 Keycloak 的实现。
在 Keycloak 中创建 IdP
- 以管理员身份注册 Keycloak。
- 前往管理域,选择要配置连接的域。
- 前往客户端,然后点击创建客户端按钮。
-
在打开的页面上,进行以下设置:在客户端类型字段中选择 SAML,在 客户端 ID 字段中输入
https://myportal-address.com/sso/metadata
,将 myportal-address.com 替换为您门户的域名。在名称和描述字段中,输入客户端的任意名称和描述。 - 点击下一步按钮。
-
填写以下字段:
将 myportal-address.com 替换为您的门户的域名。
应用程序详情 根 URL https://myportal-address.com/sso 主页 URL https://myportal-address.com/sso 有效重定向 URI https://myportal-address.com/sso/slo/callback
https://myportal-address.com/sso/acs有效注销后重定向 URI https://myportal-address.com/sso/slo/callback 主 SAML 处理 URL https://myportal-address.com/sso/acs 在高级选项卡中填写以下字段:
断言消费者服务 POST 绑定 URL https://myportal-address.com/sso/acs 断言消费者服务重定向绑定 URL https://myportal-address.com/sso/acs 注销服务 POST 绑定 URL https://myportal-address.com/sso/slo/callback 注销服务重定向绑定 URL https://myportal-address.com/sso/slo/callback - 点击保存按钮。
- 在 SAML 功能部分,选择名称 ID 格式为电子邮件。
-
在签名和加密部分,启用签名断言选项并选择签名算法:RSA_SHA1, RSA_SHA256, 或 RSA_SHA512。
- 点击保存按钮。
-
前往客户端范围部分,点击包含您门户名称的链接 https://myportal-address.com/sso/metadata-dedicated。
点击添加预定义映射器按钮,并在弹出窗口中选择以下映射器:
- X500 电子邮件
- X500 名字
- X500 姓氏
然后点击添加按钮。
配置 ONLYOFFICE SP
- 确保您已以管理员身份登录 ONLYOFFICE 协作空间,然后前往设置菜单,选择集成部分,并打开单点登录选项卡。
-
使用启用单点登录身份验证切换器启用单点登录 (SSO),并将 https://<keycloakurl>/realms/<realm_name>/protocol/saml/descriptor 粘贴到 Idp 元数据 XML 的 URL字段中。将 <keycloakurl> 和 <realm_name> 替换为您的 Keycloak 服务器地址以及创建连接的域的名称。最终链接必须可以通过浏览器访问。
- 按下带有向上箭头的按钮加载 IdP 元数据。ONLYOFFICE SP 设置表单将自动填充来自 Keycloak IdP 的数据。
-
请选择与 Keycloak 中指定的相同的默认签名验证算法。
-
将 NameId 格式更改为 emailAddress。
- 现在,您需要在 SP 证书部分创建证书。为此,请点击相应部分中的添加证书按钮。
-
在打开的模态窗口中,点击生成新的自签名证书链接,并在用途列表中选择签名和加密选项。在保存证书之前,请将公共证书文本复制到剪贴板并将其保存到文件中(这对于 Keycloak 来说是必需的),然后点击确定按钮。
-
转到属性映射部分,并为属性分配以下值:
- 名字:urn:oid:2.5.4.42
- 姓氏:urn:oid:2.5.4.4
- 电子邮件:urn:oid:1.2.840.113549.1.9.1
在高级设置部分,您可以勾选隐藏身份验证页面选项,以隐藏默认身份验证页面并自动重定向到 SSO 服务。
如果您需要恢复默认身份验证页面(以便在您的 IDP 服务器发生故障时能够访问门户),您可以在浏览器地址栏中,在门户域名后添加 /login?skipssoredirect=true 键。
- 点击保存按钮。
- 返回 Keycloak 配置加密,打开客户端,然后转到密钥部分。禁用需要客户端签名选项,并启用加密断言。在弹出窗口中,选择导入,将存档格式设置为证书 PEM,然后点击“浏览”按钮。指定步骤 7 中证书文件的路径,然后点击确认。
使用 Keycloak IDP 检查 ONLYOFFICE SP 的工作情况
- 前往 ONLYOFFICE 协作空间身份验证页面(例如,https://myportal-address.com/login)。
-
点击单点登录按钮。如果缺少该按钮,则表示未启用 SSO。
-
如果所有 SP 和 IdP 参数设置正确,我们将被重定向到 Keycloak IdP 登录表单:
- 输入 Keycloak 用户的登录名和密码,然后点击登录按钮。
-
如果凭证正确,我们将被重定向到门户主页(如果缺少用户,将自动创建用户;如果 IDP 中发生更改,将更新数据)。
文章: 标签:
浏览所有标签