Skip to main content

Bitbucket 验证提供程序

Backstagecore-plugin-api软件包自带了一个 Bitbucket 身份验证提供程序,可以使用 Bitbucket 云对用户进行身份验证。 它可以与 Bitbucket 服务器配合使用。

在 Bitbucket 中创建一个 OAuth 消费者

要添加 Bitbucket Cloud 身份验证,必须创建一个 OAuth 消费者。

转到https://bitbucket.org/<your-project-name>/workspace/settings/api.

单击添加消费者。

为地方发展设置:

应用程序名称:Backstage(或您自定义的应用程序名称) * 回调 URL:http://localhost:7007/api/auth/bitbucket * 其他为可选项 (重要) 权限:账户 - 已读,工作区成员 - 已读

配置

然后就可以将提供程序配置添加到您的app-config.yaml根目录下auth配置:

auth:
environment: development
providers:
bitbucket:
development:
clientId: ${AUTH_BITBUCKET_CLIENT_ID}
clientSecret: ${AUTH_BITBUCKET_CLIENT_SECRET}

Bitbucket 提供程序是一个包含两个配置键的结构:

  • clientId: 在 Bitbucket 中生成的密钥,例如 b59241722e3c3b4816e2 * clientSecret: 与生成的密钥绑定的Secret。

将提供程序添加到 Backstage 前端

要将提供程序添加到前端,请添加bitbucketAuthApi参考和SignInPage如图所示将提供商添加到登录页面.

使用 Bitbucket 登录

要使用 Bitbucket 提供程序登录,必须用signIn.resolver登录解决程序文档了解更多详情。 请注意,对于 Bitbucket 提供商,您需要使用bitbucket作为提供商 ID,以及providers.bitbucket.create提供商工厂。

@backstage/plugin-auth-backend插件还内置了两个解析器,可根据需要使用。 第一个是bitbucketUsernameSignInResolver,通过将用户的 Bitbucket 用户名与bitbucket.org/usernameUser请注意,您必须在目录中填入匹配的实体,否则用户将无法登录。

第二个解析器是bitbucketUserIdSignInResolver的工作方式相同,但使用的是 Bitbucket 用户 ID,并与bitbucket.org/user-id注释。

下面是一个如何使用内置解析器的示例:

import { providers } from '@backstage/plugin-auth-backend';

// ...
providerFactories: {
bitbucket: providers.bitbucket.create({
signIn: {
resolver:
providers.bitbucket.resolvers.usernameMatchingUserEntityAnnotation(),
},
}),
},