本地 IdP
对应的官方页面地址
本文将向您展示如何为测试目的设置本地 SSO 身份提供程序 (IdP)。
这里使用 Docker Test SAML 2.0 Identity Provider。
先决条件
Bitwarden 服务器已安装和配置,并运行以下服务器项目:
Identity
API
SSO(位于
server/bitwarden_license/src/Sso
)
本地网络客户端正在运行
配置 IdP
1、打开本地网络密码库然后导航至「组织」→「设置」→「单点登录」
2、勾选「允许 SSO 身份验证」复选框
3、编写并输入一个 SSO 标识符
4、选择「SAML 2.0」作为 SSO 类型。先不要保存或退出此页面,稍后再回来查看
5、打开一个新的终端,导航至服务器存储库中的 dev
文件夹,例如
6、打开 .env
文件,根据网络密码库 SSO 配置页面上的「SP 实体 ID」和「断言消费者服务 (ACS) URL」值设置以下环境变量:
您应该已经在初始服务器设置期间创建了此 .env
文件。如果需要,您可以参考 .env.example
文件。
7、(可选)您可以生成证书来签署 SSO 请求。您可以使用为您选择的操作系统制作的脚本来完成此操作。
将指纹(例如 0BE8A0072214AB37C6928968752F698EEC3A68B5
)粘贴到 globalSettings
> identityServer
> certificateThumbprint
下的 Secrets.json
文件中。按此处所示更新您的机密。
8、复制提供的 authsources.php.example
文件,其中包含您的 IdP 用户配置。
默认情况下,该文件配置了两个用户:user1
和 user2
,并且都有密码password
。您可以按照此格式添加或修改用户,或者仅使用默认值。有关自定义此文件的更多信息,请参阅此处。
9、启动 docker 容器:
10、您可以通过导航至 http://localhost:8090/simplesaml,然后「身份验证」→「测试已配置的身份验证源」→「example-userpass
」来测试用户配置。您应该可以使用配置的用户登录了。
配置 Bitwarden
1、回到打开 SSO 配置页面的窗口
2、在「SAML 身份提供程序配置」(SAML Identity Provider Configuration) 部分填写以下值:
实体 ID:
单点登录服务 URL:
X509 公共证书:打开一个新标签页,导航到上述实体 ID URL,即可获得该证书。它将打开(或下载)一个 XML 文件。复制并粘贴
<ds:X509Certificate>
标记之间的值(它看起来应该像一个 B64 编码的字符串)
3、保存 SSO 配置
现在,您的 SSO 已准备就绪!
更新 IdP 配置
用户
要添加或更改用户,只需编辑 authsources.php
。您的更改将立即生效,但当前已通过身份验证的用户必须退出登录,其账户更改才能生效。
要注销用户身份,请访问 http://localhost:8090/simplesaml/module.php/core/authenticate.php?as=example-userpass 然后点击「注销」。或者,您也可以使用私密浏览会话。
SAML 配置
要更改实体 ID 或 ACS URL,请编辑 .env
文件,然后重启 Docker 容器:
故障排除
Bitwarden 服务器显示 "unknown userId" 错误
authsources.php
中缺少用户的 uid
声明。
最后更新于