For the complete documentation index, see llms.txt. This page is also available as Markdown.

本地 IdP

本文将向您展示如何为测试目的设置本地 SSO 身份提供程序 (IdP)。

这里使用 Docker Test SAML 2.0 Identity Provider。

先决条件

  1. Bitwarden 服务器已安装和配置,并运行以下服务器项目:

    • Identity

    • API

    • SSO(位于 server/bitwarden_license/src/Sso)

  2. 本地网络客户端正在运行

配置 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 用户配置。

默认情况下,该文件配置了两个用户:user1user2,并且都有密码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 声明。

最后更新于