Bitbucket Cloud 身份验证模块
Bitbucket Cloud 身份验证模块是预配置的 OAuth2.0 身份验证模块,可让用户使用 Bitbucket Cloud 凭据登录 Hub 及任何已连接的服务。
Facebook 身份验证模块是预配置的 OAuth2.0 身份验证模块,可让用户使用他们的 Facebook 凭据登录 Hub 及任何已连接的服务。
启用 Facebook 身份验证
要允许拥有 Facebook 现有账户的用户登录 Hub,请启用身份验证模块。
此流程分三步进行:
在 Hub 中生成重定向 URI。 创建身份验证模块时,Hub 会生成一个用于授权服务的重定向 URI。 此 URI 用于识别每个登录请求的来源。
在 Facebook 中生成客户端 ID 和密钥。 每个从 Hub 发送的登录请求都包含唯一标识符。 您在身份验证模块中存储的 ID 和密钥会告诉 Facebook 授权服务每个登录请求均已获授权。
在 Hub 中启用认证模块。 在您生成了 Hub 用于与 Facebook 授权服务进行身份验证的信息后,将这些值复制到 Hub 并启用该模块。
在 Hub 中生成重定向 URI
首先,创建 Facebook 身份验证模块。 执行此操作时,Hub 会生成一个用于授权服务的重定向 URI。
更改 Hub 实例的基本 URL 时,请确保在授权服务中更新重定向 URI。 例如,更改代理设置后。
生成客户端 ID 和密钥
下一步是在 Facebook 中为 Hub 注册授权重定向 URI。
访问 Facebook 开发者 服务。
点击 Add a New App (添加新应用)。
在 Add a Product (添加产品) 部分,为 Facebook Login (Facebook 登录) 点击 Set Up (设置) 按钮。
在 Products (产品) 菜单中,选择 Settings (设置)。
将 Hub 的重定向 URI 粘贴到 Valid OAuth redirect URIs (有效的 OAuth 重定向 URI) 输入框中,然后点击 Save Changes (保存更改) 按钮。
在 Settings (设置) 菜单中,选择 Basic (基本)。
使用作为 App ID (应用 ID) 和 App Secret (应用口令) 存储的值,在 Hub 中启用身份验证模块。

在 Hub 中启用身份验证模块
要完成设置,请将授权服务中的客户端 ID 和密钥存储到 Facebook 身份验证模块中。
从 Facebook 复制 App ID (应用 ID) ,并粘贴到 Hub 的 Client ID (客户端 ID) 输入框中。
点击 Show (显示) 按钮以获得 App Secret (应用口令) ,然后从 Facebook 复制该值并粘贴到 Hub 的 Client secret (客户端密钥) 输入框中。
为身份验证模块配置可选设置。 如需详细信息,请参阅 其他设置。
点击 Save (保存) 以应用设置。
点击 Enable module (启用模块) 按钮。
Facebook 身份验证模块已启用。
存储于 Button image (按钮图像) 设置中的图标将添加到登录对话窗口。 用户可以点击该图标,使用其 Facebook 凭据登录 Hub。
测试连接
若要验证 Facebook 身份验证模块是否设置正确,请测试连接。
点击页眉中的 Test login (测试登录) 按钮。 这将在新浏览器标签页中验证登录流程。
如果身份验证模块设置正确,将显示成功信息。
如果连接存在问题,身份验证服务会显示错误信息。 请根据错误页面提供的信息排查问题。
设置
设置页的第一个部分显示身份验证模块的常规设置。 在此,您还可以找到用于在授权服务中注册 Hub 的重定向 URI 以及用于存储授权服务中生成的 Client ID (客户端 ID) 和 Client Secret (客户端密钥) 的输入框。
设置 | 描述 |
|---|---|
类型 | 显示已为 Hub 启用的第三方身份验证授权服务类型。 |
名称 | 存储身份验证模块的名称。 使用此设置可将该模块与 Auth Modules (验证模块) 列表中的其他身份验证模块区分开。 |
按钮图像 | 显示用于按钮的图像,用户可通过此按钮使用已连接授权服务的账户登录 Hub。 您可以上传 JPG、GIF 或 PNG 文件。 图像会自动调整为 48 x 48 像素。 |
重定向 URI | 显示用于在授权服务中注册 Hub 连接的授权重定向 URI。 |
客户端 ID | 存储授权服务用以验证登录请求的标识符。 当您在 Web 应用配置授权设置并输入授权重定向 URI 时,在授权服务中生成此值。 |
客户端密钥 | 存储用于验证客户端 ID 的密钥或密码。 与客户端 ID 一同在授权服务中生成此值。 |
授权延期 | 保存用于扩展授权时标识身份验证模块的值。 如提供该值,Hub 会处理将授权服务签发的访问令牌交换为授权 Hub 访问令牌的请求。 要成功交换访问令牌,身份验证模块必须已在第三方身份验证服务内获得授权并在 Hub 中启用。 要了解如何使用 Hub REST API 交换访问令牌,请参见 扩展授权。 |
授权服务端点
本节设置会储存 Facebook 所用的 OAuth 2.0 端点。
对于预配置的 OAuth 2.0 模块,所选授权服务使用的值会自动设置。
设置 | 描述 |
|---|---|
验证 | 存储 Hub 用于通过用户代理跳转方式从资源所有者获取授权的端点。 |
令牌 | 存储 Hub 用于将授权授权码换取访问令牌的端点。 |
用户数据 | 存储用于查找已认证用户的资料数据的端点。 |
电子邮箱 | 存储用于查找已认证用户电子邮件地址的端点。仅当电子邮件地址未存储在用户资料中时使用。 仅当电子邮件地址未存储在用户资料中时使用。 |
头像 | 存储用于查找作为已认证用户头像使用的二进制文件的端点。仅当头像未直接存储在用户资料中时使用。 仅当头像未直接存储在用户资料中时使用。 |
字段映射
当 Facebook 服务将用户资料作为响应对象返回时,指定字段路径中的值将被复制到 Hub 的用户资料中。 请使用下列设置定义用于查找已认证用户资料数据的端点,并将授权服务中存储的字段映射到 Hub 的用户账户。
对于 Facebook 模块,这些值会自动设置。
要指定嵌套对象内字段的路径,输入由斜杠符号 (
/) 分隔的段序列。要引用可能存储在多个位置的值,请使用"Elvis运算符"(
?:)作为多路径的分隔符。 使用此选项时,Hub 会使用其在指定字段中遇到的第一个非空值。
字段 | 描述 |
|---|---|
用户 ID | 映射到存储要复制到 Hub 中 User ID (用户 ID) 属性的字段。 |
用户名 | 映射到存储要复制到 Hub 个人档案中 Username (用户名) 字段的字段。 此选项适用于 Hub 2023.1.15453 及更高版本。 |
全名 | 映射到存储要复制到 Hub 个人档案中 Full name (全名) 字段的字段。 |
电子邮箱 | 映射到存储要复制到 Hub 个人档案中 Email (电子邮箱) 字段的字段。 |
电子邮件验证状态 | 映射到存储要复制到 Hub 中已验证电子邮件属性的字段。 |
头像 | 映射到存储要用作 Hub 个人档案中 Avatar (头像) 的图像字段。 |
图像 URL 模式 | 为按 ID 引用的头像生成图像 URL。 使用 <picture-id> 占位符引用存储头像的字段。 |
分组 | 映射到已连接授权服务中存储组成员关系分配的属性。 指定该值后,您可以在授权服务中将组成员身份映射并同步到 Hub 中对应的组。 有关详细信息,请参阅 群组映射。 |
其他设置
以下选项位于页面底部。 这些设置可让您定义请求范围并选择服务认证方式。
本节的其他选项可让您管理 Hub 账户创建和组成员关系,并减少由于空闲连接消耗的处理资源损失。
选项 | 描述 |
|---|---|
作用域 | 设置访问请求的范围。 输入空格分隔的范围列表。 |
身份验证 | 决定如何将凭据传递到授权服务。 |
用户创建 | 允许持有已连接授权服务账户的未注册用户登录并自动创建 Hub 账户。Hub 使用电子邮件地址判断用户是否有现有账户。 Hub 使用电子邮件地址判断用户是否有现有账户。 |
自动验证电子邮件 | 当身份验证服务未返回此属性时,决定 Hub 如何设置邮箱地址的验证状态。 |
自动加入组 | 当用户使用已连接授权服务中存储的账户登录时,将其添加到某个组。您可以选择一个或多个组。新自动加入组的用户将继承该组所有分配的权限。 您可以选择一个或多个组。 新自动加入组的用户将继承该组所有分配的权限。 建议您至少将用户添加到一个组。 否则,新用户只会获得当前分配给 All Users (所有用户) 组的权限。 |
连接超时 | 设置建立与授权服务连接的等待时间。默认设置为 5000 毫秒(5 秒)。 默认设置为 5000 毫秒(5 秒)。 |
读取超时 | 设置从授权服务读取和获取用户资料数据的等待时间。默认设置为 5000 毫秒(5 秒)。 默认设置为 5000 毫秒(5 秒)。 |
审核 | 链接至 Hub 中的 Audit Events (审核事件) 页面。 您可以在此查看应用于该身份验证模块的变更列表。 |
群组映射
操作
页眉中可用的操作如下:
操作 | 描述 |
|---|---|
设为默认 | 将身份验证模块设为您安装的默认模块。任何时候只能有一个身份验证模块被设为默认。如果已有其他模块设为默认,则会取消默认状态。 任何时候只能有一个身份验证模块被设为默认。 如果已有其他模块设为默认,则会取消默认状态。 只当当前身份验证模块未被设为默认时,才会显示该选项。 |
清除默认 | 移除此身份验证模块为您的安装默认模块的设置。 如果没有可用的身份验证模块被设为默认,未登录用户始终会被引导至 Hub 登录页。 只当当前身份验证模块被设为默认时,才会显示该选项。 |
禁用模块 | 禁用身份验证模块。 仅当身份验证模块当前已启用时才显示此选项。 |
启用模块 | 启用身份验证模块。 仅当身份验证模块当前已禁用时才显示此选项。 |
测试登录 | 允许您测试与身份验证服务的连接。 |
删除模块 | 将身份验证模块从 Hub 移除。仅当您已配置了可让用户登录 Hub 的其他身份验证模块时使用。 仅当您已配置了可让用户登录 Hub 的其他身份验证模块时使用。 |

