Keycloak IdP

简介

单点登录 (SSO) 是一种允许用户只需登录一次即可访问多个应用程序/服务而无需重新身份验证的技术。

如果一个网页门户包含多个大型独立部分(论坛、聊天、博客等),用户可以在其中一个服务内完成身份验证,即可自动访问所有其他服务,而无需多次输入凭据。

SSO 始终由两个应用程序的联合运行来确保:身份提供商和服务提供商(也称为“IdP”和“SP”)。ONLYOFFICE SSO 仅实现 SP。许多不同的提供商都可以充当 IdP,但本文主要讨论 Keycloak 的实现。

在 Keycloak 中创建 IdP

  1. 以管理员身份注册 Keycloak。
  2. 前往管理域,选择要配置连接的域。
  3. 前往客户端,然后点击创建客户端按钮。
  4. 在打开的页面上,进行以下设置:在客户端类型字段中选择 SAML,在 客户端 ID 字段中输入 https://myportal-address.com/sso/metadata,将 myportal-address.com 替换为您门户的域名。在名称描述字段中,输入客户端的任意名称和描述。
    How to configure ONLYOFFICE SP and Keycloak IdPHow to configure ONLYOFFICE SP and Keycloak IdP
  5. 点击下一步按钮。
  6. 填写以下字段:
    myportal-address.com 替换为您的门户的域名。
    应用程序详情
    根 URLhttps://myportal-address.com/sso
    主页 URLhttps://myportal-address.com/sso
    有效重定向 URIhttps://myportal-address.com/sso/slo/callback
    https://myportal-address.com/sso/acs
    有效注销后重定向 URIhttps://myportal-address.com/sso/slo/callback
    主 SAML 处理 URLhttps://myportal-address.com/sso/acs
    How to configure ONLYOFFICE SP and Keycloak IdPHow to configure ONLYOFFICE SP and Keycloak IdP

    高级选项卡中填写以下字段:

    断言消费者服务 POST 绑定 URLhttps://myportal-address.com/sso/acs
    断言消费者服务重定向绑定 URLhttps://myportal-address.com/sso/acs
    注销服务 POST 绑定 URLhttps://myportal-address.com/sso/slo/callback
    注销服务重定向绑定 URLhttps://myportal-address.com/sso/slo/callback
    How to configure ONLYOFFICE SP and Keycloak IdPHow to configure ONLYOFFICE SP and Keycloak IdP
  7. 点击保存按钮。
  8. SAML 功能部分,选择名称 ID 格式为电子邮件。
  9. 签名和加密部分,启用签名断言选项并选择签名算法:RSA_SHA1, RSA_SHA256, 或 RSA_SHA512。
    How to configure ONLYOFFICE SP and Keycloak IdPHow to configure ONLYOFFICE SP and Keycloak IdP
  10. 点击保存按钮。
  11. 前往客户端范围部分,点击包含您门户名称的链接 https://myportal-address.com/sso/metadata-dedicated。

    点击添加预定义映射器按钮,并在弹出窗口中选择以下映射器:

    • X500 电子邮件
    • X500 名字
    • X500 姓氏

    然后点击添加按钮。

    How to configure ONLYOFFICE SP and Keycloak IdPHow to configure ONLYOFFICE SP and Keycloak IdP

配置 ONLYOFFICE SP

  1. 确保您已以管理员身份登录 ONLYOFFICE 协作空间,然后前往设置菜单,选择集成部分,并打开单点登录选项卡。
  2. 使用启用单点登录身份验证切换器启用单点登录 (SSO),并将 https://<keycloakurl>/realms/<realm_name>/protocol/saml/descriptor 粘贴到 Idp 元数据 XML 的 URL字段中。将 <keycloakurl><realm_name> 替换为您的 Keycloak 服务器地址以及创建连接的域的名称。最终链接必须可以通过浏览器访问。
    How to configure ONLYOFFICE SP and Keycloak IdPHow to configure ONLYOFFICE SP and Keycloak IdP
  3. 按下带有向上箭头的按钮加载 IdP 元数据。ONLYOFFICE SP 设置表单将自动填充来自 Keycloak IdP 的数据。
  4. 请选择与 Keycloak 中指定的相同的默认签名验证算法
    How to configure ONLYOFFICE SP and Keycloak IdPHow to configure ONLYOFFICE SP and Keycloak IdP
  5. NameId 格式更改为 emailAddress。
    How to configure ONLYOFFICE SP and Keycloak IdPHow to configure ONLYOFFICE SP and Keycloak IdP
  6. 现在,您需要在 SP 证书部分创建证书。为此,请点击相应部分中的添加证书按钮。
  7. 在打开的模态窗口中,点击生成新的自签名证书链接,并在用途列表中选择签名和加密选项。在保存证书之前,请将公共证书文本复制到剪贴板并将其保存到文件中(这对于 Keycloak 来说是必需的),然后点击确定按钮。
    How to configure ONLYOFFICE SP and Keycloak IdPHow to configure ONLYOFFICE SP and Keycloak IdP
  8. 转到属性映射部分,并为属性分配以下值:
    • 名字:urn:oid:2.5.4.42
    • 姓氏:urn:oid:2.5.4.4
    • 电子邮件:urn:oid:1.2.840.113549.1.9.1
    How to configure ONLYOFFICE SP and Keycloak IdPHow to configure ONLYOFFICE SP and Keycloak IdP

    高级设置部分,您可以勾选隐藏身份验证页面选项,以隐藏默认身份验证页面并自动重定向到 SSO 服务。

    如果您需要恢复默认身份验证页面(以便在您的 IDP 服务器发生故障时能够访问门户),您可以在浏览器地址栏中,在门户域名后添加 /login?skipssoredirect=true 键。

  9. 点击保存按钮。
  10. 返回 Keycloak 配置加密,打开客户端,然后转到密钥部分。禁用需要客户端签名选项,并启用加密断言。在弹出窗口中,选择导入,将存档格式设置为证书 PEM,然后点击“浏览”按钮。指定步骤 7 中证书文件的路径,然后点击确认

使用 Keycloak IDP 检查 ONLYOFFICE SP 的工作情况

  1. 前往 ONLYOFFICE 协作空间身份验证页面(例如,https://myportal-address.com/login)。
  2. 点击单点登录按钮。如果缺少该按钮,则表示未启用 SSO。
    How to configure ONLYOFFICE SP and Keycloak IdPHow to configure ONLYOFFICE SP and Keycloak IdP
  3. 如果所有 SP 和 IdP 参数设置正确,我们将被重定向到 Keycloak IdP 登录表单:
    How to configure ONLYOFFICE SP and Keycloak IdPHow to configure ONLYOFFICE SP and Keycloak IdP
  4. 输入 Keycloak 用户的登录名和密码,然后点击登录按钮。
  5. 如果凭证正确,我们将被重定向到门户主页(如果缺少用户,将自动创建用户;如果 IDP 中发生更改,将更新数据)。
    How to configure ONLYOFFICE SP and Keycloak IdPHow to configure ONLYOFFICE SP and Keycloak IdP

在您自己的服务器上托管 ONLYOFFICE 文档,或在云端使用

文章: 标签:
浏览所有标签