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/username
对User
请注意,您必须在目录中填入匹配的实体,否则用户将无法登录。
第二个解析器是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(),
},
}),
},