本文由AI翻译

配置 ONLYOFFICE SP 和 Shibboleth IdP

介绍

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

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

SSO 始终由两个应用程序的联合操作来保证:身份提供者和服务提供者(以下简称“IdP”和“SP”)。ONLYOFFICE SSO 仅实现 SP。许多不同的提供者可以充当 IdP,但本文考虑的是 Shibboleth 实现

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

为 SSO 设置准备 ONLYOFFICE 协作空间

  1. 安装支持 SSO 的 Docker 版或任何更高版本的 ONLYOFFICE 协作空间 v. 11.0.0
  2. 添加一个域名,例如,myportal-address.com
  3. 在您的门户网站上,进入 控制面板 -> HTTPS,创建并应用 letsencrypt 证书以加密流量(以启用门户网站上的 HTTPS)。

创建 Shibboleth IdP

要求
  • 要部署 Shibboleth IDP,需要一台干净的 CentOS 7 主机。
  • 时间必须设置正确,并且必须在主机上安装时间同步服务以用于 IDP:
    timedatectl  status
    yum install ntp
    systemctl enable ntpd.service
    ntpdate time.apple.com
  • 机器上必须安装 unzip 包:
    yum install unzip
  • 机器上必须安装 DockerDocker Compose
  • 必须将一个域名与机器关联(例如,your-idp-domain.com
创建 Shibboleth IdP

要创建、配置和启动 Shibboleth IDP,请下载并执行 install.sh 脚本。

脚本执行以下操作:

  • github 下载用于创建 Shibboleth Idp 镜像和容器的 docker 文件,
  • 在配置文件中将默认的 idptestbed.edu 域更改为执行脚本时指定的域,
  • 为指定的 ONLYOFFICE SP 域添加通过 SAML 协议的访问,
  • 指定 ONLYOFFICE SP 需要哪些属性才能从 Shibboleth IDP 发布用户信息(属性映射设置),
  • 创建和配置 LDAP 并创建用户以进行发布,
  • 启用从 ONLYOFFICE SP 到 Shibboleth IDP 的元数据动态加载,
  • 如有必要,启用 Shibboleth SLO。
  1. 下载 install.sh 脚本:
    curl -L https://help.onlyoffice.co/Products/Files/HttpHandlers/filehandler.ashx?action=download&fileid=6875651&doc=MW9QWHdCQU9HOTN5dlpBWVQxTGtOem55SjJaNWx4L1ZIdTNkQk53QnpDYz0_IjY4NzU2NTEi0 -o install.sh
  2. 使脚本可执行:
    chmod +x install.sh
  3. 执行脚本并用您自己的参数替换:
    ./install.sh -id your-idp-domain.com -sd myportal-address.com --no_slo

    脚本参数:

    • -id - 当前机器的 Shibboleth IDP 域名。
    • -sd - 部署 ONLYOFFICE SP 的域名。
    • --no_slo - 禁用 Shibboleth IDP 中的单点注销(可选参数)。
  4. 等待脚本执行后 Shibboleth IDP 启动。
  5. 要验证 Shibboleth IDP 是否正确启动,请在浏览器中打开 https://your-idp-domain.com/idp/shibboleth 链接。应显示一个 xml 文件。
  6. 复制 https://{your_idp_domain}/idp/shibboleth 链接(例如,https://your-idp-domain.com/idp/shibboleth)并以管理员身份登录到 ONLYOFFICE 门户。打开 控制面板 -> SSO 页面。

配置 ONLYOFFICE SP

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

    由于我们在执行 install.sh 脚本时通过指定 --no_slo 参数禁用了 SLO,因此 IdP 单点注销端点 URL 字段将为空。

  4. 一旦 IdP 元数据加载完成,IdP 公共证书部分将添加两个证书。您还会看到弹出窗口显示以下文本:“不支持多个 Idp 验证证书。请仅保留主证书”。

    您需要删除列表中的第二个证书,只保留第一个证书,即主证书。使用第二个证书旁边的删除链接将其删除。如果不删除证书,您将无法保存设置。

  5. 自定义登录按钮标题字段中,您可以输入任何文本替代默认文本(单点登录)。此文本将显示在用于通过 ONLYOFFICE 身份验证页面上的单点登录服务登录门户的按钮上。
    如何配置 Shibboleth IdP 和 ONLYOFFICE SP如何配置 Shibboleth IdP 和 ONLYOFFICE SP
  6. 现在您需要在SP 证书部分创建自签名证书或添加任何其他证书。
    重要!用途列表中,选择签名和加密选项,因为您的 Shibboleth IdP 已通过 install.sh 脚本自动配置为验证数据是否已数字签名和加密。
    如何配置 Shibboleth IdP 和 ONLYOFFICE SP如何配置 Shibboleth IdP 和 ONLYOFFICE SP

    您应该得到类似的结果:

    如何配置 Shibboleth IdP 和 ONLYOFFICE SP如何配置 Shibboleth IdP 和 ONLYOFFICE SP
  7. 属性映射部分,设置 ONLYOFFICE 人员模块中的字段与 Shibboleth IdP 返回的用户属性的对应关系。
    名字urn:oid:2.5.4.42
    姓氏urn:oid:2.5.4.4
    邮箱urn:oid:0.9.2342.19200300.100.1.3
    位置urn:oid:2.5.4.7
    职位urn:oid:2.5.4.12
    电话urn:oid:0.9.2342.19200300.100.1.41
    如何配置 Shibboleth IdP 和 ONLYOFFICE SP如何配置 Shibboleth IdP 和 ONLYOFFICE SP

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

    重要如果您需要恢复默认身份验证页面(以便在 IDP 服务器出现故障时能够访问门户),您可以在浏览器地址栏中在您的门户域名后添加 /Auth.aspx?skipssoredirect=true 键。
  8. 点击保存按钮。
  9. 应打开ONLYOFFICE SP 元数据部分。
  10. 通过点击下载 SP 元数据 XML按钮来验证我们的设置是否公开可用。应显示 XML 文件内容。
    如何配置 Shibboleth IdP 和 ONLYOFFICE SP如何配置 Shibboleth IdP 和 ONLYOFFICE SP

    此 xml 文件通常用于配置 Shibboleth IDP,但由于 install.sh 脚本启用了 DynamicHTTPMetadataProvider,我们不需要这样做(Shibboleth IDP 在首次请求登录时将下载此 xml 文件)。

检查 ONLYOFFICE SP 与 Shibboleth IdP 的工作

install.sh 脚本创建了 4 个用户,可以用于测试 ONLYOFFICE SP 与 Shibboleth IdP 的工作。

邮箱用户名密码备注
student1@{your_idp_domain}student1password标准
student2@{your_idp_domain}student2password无给定名
student3@{your_idp_domain}student3password含变音符号
staff1@{your_idp_domain}staff1password仅必填字段
在 SP 端登录 ONLYOFFICE
  1. 访问 ONLYOFFICE 身份验证页面(例如,https://myportal-address.com/Auth.aspx)。
  2. 点击单点登录按钮(如果您在配置 ONLYOFFICE SP 时指定了自己的文本,标题可能会有所不同)。如果按钮缺失,这意味着 SSO 未启用。
    如何配置 Shibboleth IdP 和 ONLYOFFICE SP如何配置 Shibboleth IdP 和 ONLYOFFICE SP
  3. 如果所有 SP 和 IdP 参数设置正确,我们将被重定向到 Shibboleth IdP 登录表单:
    如何配置 Shibboleth IdP 和 ONLYOFFICE SP如何配置 Shibboleth IdP 和 ONLYOFFICE SP
  4. 输入 Shibboleth IdP 帐户的用户名和密码(用户名:student1,密码:password)并勾选不记住登录框。
  5. 如果凭据正确,将打开一个新窗口。点击接受按钮以允许向服务提供信息。
    如何配置 Shibboleth IdP 和 ONLYOFFICE SP如何配置 Shibboleth IdP 和 ONLYOFFICE SP
  6. 如果一切正确,我们将被重定向到门户的主页(如果缺少用户将自动创建,或者如果在 IDP 中更改了数据将更新)。
    如何配置 Shibboleth IdP 和 ONLYOFFICE SP如何配置 Shibboleth IdP 和 ONLYOFFICE SP
使用 SSO 身份验证添加的用户的个人资料

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

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

如何配置 Shibboleth IdP 和 ONLYOFFICE SP如何配置 Shibboleth IdP 和 ONLYOFFICE SP

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

如何配置 Shibboleth IdP 和 ONLYOFFICE SP如何配置 Shibboleth IdP 和 ONLYOFFICE SP

使用 SSO 身份验证创建的用户在门户管理员的用户列表中标记有 SSO 图标:

如何配置 Shibboleth IdP 和 ONLYOFFICE SP如何配置 Shibboleth IdP 和 ONLYOFFICE SP

要从 Shibboleth IdP 注销(如果您在登录时未勾选不记住登录框),请访问如下链接:https://{shibboleth-idp-domain}/idp/profile/Logout

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

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