Okta OIDC 实施

对应的官方文档地址

本文是专门针对 Okta 用于配置 OpenID 连接(OIDC) 方式的 SSO 登录的帮助。有关其他 OIDC IdP 方式配置 SSO 登录,或配置 SAML 2.0 方式的 Azure 的帮助,请参阅 OIDC 配置Okta SAML 实施

配置需要在 Bitwarden 业务门户和 Okta 管理门户网站中同时进行。在您继续进行操作时,我们建议您随时准备好并按照记录的顺序完成步骤。

打开业务门户

如果您是直接从 OIDC 配置过来的,您应该已经创建了组织 ID 并且已启用 SSO。如果没有,请按照该文档的第 1 步和第 2 步操作然后返回到本指南。

打开您的业务门户并导航到 SSO 配置界面:

OIDC 配置

你不需要编辑此界面上的任何内容,但要保持打开以方便引用。

创建一个 Okta 应用程序

在 Okta 管理门户中,从导航中选择 ApplicationsApplications。在 Applications(应用程序)界面上,选择 Create App Integration 按钮。对于 Sign-on method(登录方式),选择 OIDC - OpenID Connect。对于 Application type(应用程序类型),选择 Web Application

New Web App Integration 界面上,配置以下字段:

字段

描述

App integration name

为应用程序指定一个专用于 Bitwarden 的名称。

Grant type

启用以下授权类型: - 代表自己行事的客户 → Client Credentials - 代表用户行事的客户 → Authorization Code

Sign-in redirect URIs

将此字段设置为您的 Callback Path,这可以从 Bitwarden SSO 配置界面获取。 对于云托管客户,其始终为 https://sso.bitwarden.com/oidc-signin。对于自托管实例,这取决于您已配置的服务器 URL,例如为

https://your.domain.com/sso/oidc-signin

Sign-out redirect URIs

将此字段设置为您的 Signed Out Callback Path,这可以从 Bitwarden SSO 配置界面获取。

Assignments

使用此字段指定是所有群组还是仅选定的群组能够使用 Bitwarden SSO 登录。

配置完成后,选择 Next 按钮。

获取客户端凭据

在 Application(应用程序)界面上,复制新创建的 Okta 应用程序的 Client IDClient secret

应用程序客户端凭据

在下一步中将需要使用这两个值。

获取授权服务器信息

从导航中选择 SecurityAPI。从 Authorization Servers 列表中,选择要用于此实现的服务器。在服务器的 Settings 选项卡上,复制 IssuerMetadata URI 值:

Okta 授权服务器设置

在下一步中将需要使用这两个值。

Bitwarden 业务门户配置

至此,您已在 Okta 管理门户范围内配置好了你所需要的一切。回到 Bitwarden 业务门户以配置以下字段:

字段

描述

Authority

为您的授权服务器输入已获取到到的 Issuer URI

Client ID

为您的 Okta 应用程序输入已获取到的 Client ID

Client Secret

为您的 Okta 应用程序输入已获取到的 Client secret

Metadata Address

为您的授权服务器输入已获取到到的 Metadata URI

OIDC Redirect Behavior

选择 Redirect GET。Okta 目前不支持 Form POST。

Get Claims From User Info Endpoint

如果您在 SSO 期间收到 URL 太长错误 (HTTP 414)、截断的 URL 和/或失败,请启用此选项。

Additional/Custom Scopes

定义要添加到请求中的自定义范围(逗号分隔)。

Additional/Custom User ID Claim Types

为用户标识(逗号分隔)定义自定义声明类型键。定义后,会在返回标准类型之前搜索自定义声明类型。

Additional/Custom Email Claim Types

为用户的电子邮件地址(逗号分隔)定义自定义声明类型键。定义后,会在返回标准类型之前搜索自定义声明类型。

Additional/Custom Name Claim Types

为用户的全名或显示名称(逗号分隔)定义自定义声明类型键。定义后,会在返回标准类型之前搜索自定义声明类型。

Requested Authentication Context Class Reference values

定义身份验证上下文类引用标识符(acr_values)(以空格分隔)。按优先顺序列出 acr_values

Expected “acr” Claim Value in Response

定义 Bitwarden 在响应中期望和验证的 acr 声明值。

完成这些字段的配置后,Save(保存)您的工作。

测试配置

配置完成后,通过导航到 https://vault.bitwarden.com 并选择 Enterprise Single Sign-On 按钮来进行测试:

输入已配置的组织标识符,然后选择 Log In。如果您的实现已成功配置,您将被重定向到 Okta 登录界面:

使用 Okta 凭据进行身份验证后,输入您的 Bitwarden 主密码以解密您的密码库!