本文由AI翻译

配置 ONLYOFFICE SP 和 AD FS IdP

简介

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

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

SSO 总是通过两个应用程序的联合操作来实现:身份提供者和服务提供者(以下简称“IdP”和“SP”)。ONLYOFFICE SSO 实现了仅 SP。许多不同的提供者可以作为 IdP,但本文考虑的是 Active Directory Federation Services (AD FS) 的实现。

如果您希望在将 ONLYOFFICE 桌面编辑器 连接到您的 ONLYOFFICE Workspace 时使用 SSO,请在 控制面板 中禁用 私人房间
系统要求

系统要求包括以下软件,这些软件已被测试并证明与 ONLYOFFICE SSO 能够正常工作:

  • Windows Server 2008 R2, Windows Server 2016;
  • AD FS 版本 3.0 或更高。

为 SSO 设置准备 ONLYOFFICE Workspace

  1. 安装支持 SSO 的 Docker 版或任何更高版本的 ONLYOFFICE Workspace(AD FS 从社区服务器 v9.5 开始支持)。
  2. 添加一个域名,例如 myportal-address.com。
  3. 在您的门户网站上,进入 控制面板 -> HTTPS,创建并应用 letsencrypt 证书以加密流量(以在您的门户网站上启用 HTTPS)。

为 SSO 设置准备 AD FS

  1. 安装最新的 AD DS (Active Directory Domain Service) 版本,并应用所有官方更新和补丁。
  2. 安装最新的 AD FS 版本,并应用所有官方更新和补丁。
    要从头部署 AD FS,您可以使用以下说明
  3. 验证 AD FS 元数据链接是否公开可用。为此,
    1. 服务器管理器 中,打开 工具 -> AD FS 管理
    2. 转到 AD FS \ 服务 \ 端点
    3. 在表中找到类型为 联合元数据 的行。IdP 元数据的链接按照以下方案构建:
      https://{ad-fs-domain}/{path-to-FederationMetadata.xml}
      如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP

      或者,您可以使用以下 PowerShell 命令:

      PS C:\Users\Administrator> (Get-ADFSEndpoint | Where {$_.Protocol -eq "FederationMetadata" -or $_.Protocol -eq "Federation Metadata"}).FullUrl.ToString()

      结果您应该得到一个类似这样的链接:

      https://onlyofficevm.northeurope.cloudapp.azure.com/FederationMetadata/2007-06/FederationMetadata.xml
    4. 要验证 AD FS 是否已正确启动,请在网络浏览器中打开收到的链接。xml 应显示或下载。复制元数据 xml 的链接:在下一步中将需要它。

配置 ONLYOFFICE SP

  1. 确保您以管理员身份登录到您的 ONLYOFFICE 控制面板,然后在左侧边栏的 门户设置 部分中点击 SSO 选项卡。
    您只能在 ONLYOFFICE 门户上为您的组织注册一个企业身份提供者。
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  2. 使用 启用单点登录认证 开关启用 SSO,并将从 AD FS 复制的链接粘贴到 Idp 元数据 XML 的 URL 字段中。
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP

    按带有向上箭头的按钮以加载 IdP 元数据。ONLYOFFICE SP 设置 表单将自动填入来自 AD FS IdP 的数据。

  3. 自定义登录按钮标题 字段中,您可以输入任何文本替代默认文本(单点登录)。此文本将显示在用于通过 ONLYOFFICE 认证页面的单点登录服务登录门户的按钮上。
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  4. NameID 格式 选择器中,选择以下值:urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  5. IdP 公共证书 \ 高级设置 部分,取消选中 验证注销响应签名 选项,因为 AD FS 默认不需要此选项。
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  6. 现在您需要向 SP 证书 部分添加证书。您可以生成自签名证书或添加任何其他证书。
    新证书 窗口中,将 用于 选择器切换到 签名和加密 选项,因为 AD FS IdP 自动配置为验证数字签名和加密数据。
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP

    您应该得到类似的结果:

    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  7. SP 证书 \ 高级设置 中,取消选中 签署注销响应,因为 AD FS 默认不需要此选项。
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
    无需调整 属性映射 表单,因为我们将在 AD FS IdP 中设置这些参数。在 高级设置 部分,您可以选中 隐藏认证页面 选项以隐藏默认认证页面并自动重定向到 SSO 服务。
    重要如果您需要恢复默认认证页面(以便在 IDP 服务器故障时能够访问门户),您可以在浏览器地址栏中在您的门户域名后添加 /Auth.aspx?skipssoredirect=true 键。
  8. 点击 保存 按钮。ONLYOFFICE SP 元数据 部分应打开。
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP

    通过点击 下载 SP 元数据 XML 按钮验证我们的设置是否公开可用。XML 文件内容应显示。

  9. SP 实体 ID(元数据 XML 链接) 字段复制 ONLYOFFICE SP 元数据的链接,并转到安装了 AD FS 的机器。
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP

配置 AD FS IdP

  1. 为 .NET 应用程序启用强认证。

    .NET Framework 3.5/4.0/4.5.x 应用程序可以通过启用 SchUseStrongCrypto 注册表项将默认协议切换为 TLS 1.2。此注册表项将强制 .NET 应用程序使用 TLS 1.2。

    对于 Windows Server 2016 和 Windows Server 2012 R2 上的 AD FS,您需要使用 .NET Framework 4.0/4.5.x 键:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319

    对于 .NET Framework 3.5 使用以下注册表项:

    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727] "SchUseStrongCrypto"=dword:00000001

    对于 .NET Framework 4.0/4.5.x 使用以下注册表项:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 "SchUseStrongCrypto"=dword:00000001
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP

    或者,您可以使用以下 PowerShell 命令:

    New-ItemProperty -path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -name 'SchUseStrongCrypto' -value '1' -PropertyType 'DWord' -Force | Out-Null

    有关更多详细信息,请参阅本文

  2. 服务器管理器 中,打开 工具 -> AD FS 管理
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  3. AD FS 管理 面板中,选择 信任关系 > 依赖方信任。点击右侧的 添加依赖方信任... 选项,打开 添加依赖方信任向导
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  4. 在向导窗口中,选择 导入在线或本地网络上发布的依赖方数据 单选按钮,将之前复制的 ONLYOFFICE SP 元数据链接粘贴到 联合元数据地址(主机名或 URL) 字段中,然后点击 下一步 按钮,
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  5. 显示名称 字段中指定任何名称,然后点击 下一步 按钮,
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  6. 选择 我不想为此依赖方信任配置多因素认证设置 选项并点击 下一步 按钮,
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  7. 选择 允许所有用户访问此依赖方 选项并点击 下一步 按钮,
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  8. 检查结果设置并点击 下一步 按钮,
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  9. 保持默认选项不变并点击 关闭 按钮,
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  10. 新窗口打开。在 发布转换规则 选项卡中,点击 添加规则... 按钮,
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  11. 声明规则模板 列表中选择 发送 LDAP 属性作为声明 选项并点击 下一步 按钮,
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  12. 声明规则名称 字段中输入任何名称。从 属性存储 列表中选择 Active Directory 选项,并根据下表填写 LDAP 属性到传出声明类型的映射 表单。准备好后,点击 完成
    LDAP 属性(选择或输入以添加更多)传出声明类型(选择或输入以添加更多)
    Given-NamegivenName
    Surnamesn
    E-Mail-Addressesmail
    Telephone-Numbermobile
    Titletitle
    physicalDeliveryOfficeNamel
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  13. 编辑声明规则 窗口中,再次点击 添加规则... 按钮,从 声明规则模板 列表中选择 转换传入声明 选项并点击 下一步 按钮,
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  14. 声明规则名称 字段中输入任何名称,并从列表中选择以下选项:
    • 传入声明类型: mail,
    • 传出声明类型: Name ID,
    • 传出名称 ID 格式: Email
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP

    准备好后,点击 完成 按钮。

    您应该得到类似的结果:

    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP

    如果 AD FS 的注销不起作用,建议添加一个自定义声明规则,将 {portal-domain} 替换为您的 SP 域,并将 {ad-fs-domain} 更改为您的 IdP 域:

    c:[Type == "mail"]=> issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/namequalifier"] = "http://{ad-fs-domain}/adfs/services/trust", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/spnamequalifier"] = "https://{portal-domain}/sso/metadata");
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  15. 点击 确定 按钮,
  16. 为了使 SSO 能够从内网工作,您需要在 编辑全局认证策略(上下文菜单 AD FS / 认证策略)中启用 表单认证 选项,
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  17. 打开创建的依赖方信任的属性并切换到 高级 选项卡,
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP

    安全哈希算法 列表中选择 SHA-1 选项。

    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP

检查 ONLYOFFICE SP 与 AD FS IdP 的工作

在 SP 端登录 ONLYOFFICE
  1. 转到 ONLYOFFICE 认证页面(例如,https://myportal-address.com/auth.aspx)。
  2. 点击 单点登录 按钮(如果您在配置 ONLYOFFICE SP 时指定了自己的文本,标题可能会有所不同)。如果按钮丢失,这意味着 SSO 未启用。
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  3. 如果所有 SP 和 IdP 参数设置正确,我们将被重定向到 AD FS IdP 登录表单:
    如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP
  4. 输入 AD FS IdP 帐户的登录名和密码,然后点击 登录 按钮。
  5. 如果凭据正确,我们将被重定向到门户的主页(如果缺少用户,将自动创建用户,或者如果 IDP 中的数据已更改,将更新数据)。
使用 SSO 认证添加的用户的个人资料

使用 SSO 认证创建的用户个人资料的编辑功能受到限制。从 IdP 接收到的用户个人资料字段无法编辑(即,名字姓氏电子邮件职位位置)。您只能从您的 IdP 帐户编辑这些字段。

下图显示了 SSO 用户的操作菜单:

如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP

下图显示了打开编辑的 SSO 用户个人资料:

如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP

使用 SSO 认证创建的用户在门户管理员的用户列表中标记为 SSO 图标:

如何配置 ONLYOFFICE SP 和 AD FS IdP如何配置 ONLYOFFICE SP 和 AD FS IdP

在您自己的服务器上托管 ONLYOFFICE 工作区

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