Authentik IdP
简介
单点登录(SSO)是一种技术,允许用户仅需登录一次,即可无需重复认证便能访问多个应用程序/服务。
若某网络门户包含若干大型独立板块(如论坛、房间、博客等),用户只需在其中一个服务中完成身份验证流程,即可自动获得所有其他服务的访问权限,无需多次输入凭证。
SSO 始终通过身份提供商与服务提供商(简称IdP与SP)两个应用的协同运作来实现。ONLYOFFICE SSO 仅实现 SP 端功能。虽有多种提供商可作为IdP,本文重点探讨 Authentik 的实现方案。
在 Authentik 中创建 IdP
-
登录到 Authentik 管理面板 (
https://authentik.yourdomain.com/if/admin/)。 -
转到自定义 -> 属性映射。
-
点击创建 -> SAML 提供商属性映射。
-
通过这种方式,创建3个具有以下参数的属性映射:
名称 SAML属性名称 表达式 SAML givenName 映射 givenName return user.attributes["first_name"]SAML sn 映射 sn return user.attributes["last_name"]SAML mail 映射 mail return user.email如果在 Authentik 中为用户指定了属性,则必须配置此属性映射。如果属性不同,请将其替换为必要的属性;如果没有属性,则无需配置。

-
转到提供商 -> 创建。
-
选择 SAML 类型。

-
填写以下字段:
名称 Apps SAML 授权流程 default-provider-authorization-implicit-consent (授权应用)ACS URL https://docspace.example.com/sso/acs发行者 https://docspace.example.com/sso/metadata服务提供商绑定 POST签名断言 true签名响应 true签名证书 首次可使用 authentik 自签名证书或替换为您自己的证书属性映射 如果您在步骤4中配置了属性,需要通过选择并点击右箭头将其从左列添加到右列 

-
点击完成。
-
转到应用程序 -> 创建。
-
填写以下字段:
名称 Apps SAML 缩略名 docspace提供商 Select Docspace SAML策略引擎模式 any -
点击创建。

-
转到已创建的 SAML 提供商。
-
找到元数据 URL 链接(通常为
https://authentik.example.com/application/saml/docspace/metadata.xml) -
复制此链接或下载 XML 文件。
配置 ONLYOFFICE SP
请确保您已以管理员身份登录 ONLYOFFICE Apps 工作空间,然后转到设置菜单,选择集成部分,并打开单点登录选项卡。

-
使用启用单点登录认证开关启用 SSO,并将复制的链接粘贴到 IdP 元数据 XML URL 字段中。
-
点击向上箭头按钮加载 IdP 元数据。ONLYOFFICE SP 设置表单将自动填充来自 Authentik IdP 的数据。
-
如果用户未配置属性且未执行步骤4,则必须在属性映射中指定以下参数:
名字 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name姓氏 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name邮箱 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress -
在 SP 证书部分创建证书。为此,请在相应部分点击添加证书按钮。
-
在打开的模态窗口中,点击生成新的自签名证书链接,并在用途列表中选择签名和加密选项。在保存证书之前,将公共证书文本复制到剪贴板并保存到文件中(这将用于Authentik),然后点击确定按钮。

-
点击保存按钮。
-
应打开 ONLYOFFICE SP 元数据部分,其中包含下载 SP 元数据 XML 按钮。

-
返回 Authentik 以添加复制的证书。转到系统 -> 证书 -> 创建。
-
输入任意名称并粘贴复制的证书。

-
在提供商设置中指定此证书。

如果需要加密,则在步骤8中需要创建一个带有私钥的证书,并在加密证书字段中指定该证书。
检查 ONLYOFFICE SP 与 Authentik IdP 的工作情况
-
访问 ONLYOFFICE Apps认证页面(例如:
https://myportal-address.com/login)。
-
点击单点登录按钮。如果该按钮缺失,则表示 SSO 未启用。
-
如果所有 SP 和 IdP 参数设置正确,您将被重定向到 Authentik IdP 登录表单。
-
输入 Authentik 用户的登录名和密码,然后点击登录按钮。
-
如果凭据正确,您将被重定向到工作空间主页(如果用户不存在将自动创建,或者如果 IdP 中的数据发生更改则会更新)。