GitHub 认证提供程序
Backstagecore-plugin-api
软件包自带 GitHub 身份验证提供程序,可使用 GitHub 或 GitHub Enterprise OAuth 对用户进行身份验证。
在 GitHub 上创建 OAuth 应用程序
要添加 GitHub 身份验证,必须创建一个 GitHub 应用程序,或从 GitHub 中创建一个 OAuth 应用程序。开发人员设置......。Homepage URL
应指向 Backstage 的前台,而Authorization callback URL
将指向授权后端。
请注意,如果您使用的是 GitHub 应用程序,允许的作用域将作为该程序的一部分进行配置。 这意味着您需要验证您使用的插件需要哪些作用域,因此请务必查看插件的 READMEs 了解相关信息。
为地方发展设置:
- 应用程序名称: Backstage(或您自定义的应用程序名称) * 主页 URL:
http://localhost:3000
* 授权回调 URL:http://localhost:7007/api/auth/github/handler/frame
配置
然后就可以将提供程序配置添加到您的app-config.yaml
根目录下auth
配置:
auth:
environment: development
providers:
github:
development:
clientId: ${AUTH_GITHUB_CLIENT_ID}
clientSecret: ${AUTH_GITHUB_CLIENT_SECRET}
## uncomment if using GitHub Enterprise
# enterpriseInstanceUrl: ${AUTH_GITHUB_ENTERPRISE_INSTANCE_URL}
GitHub 提供程序是一个包含三个配置键的结构:
clientId
: 在 GitHub 上生成的客户端 ID,例如b59241722e3c3b4816e2
*clientSecret
: 与生成的客户端 ID 绑定的客户端Secret。enterpriseInstanceUrl
(可选): GitHub 企业实例的基础 URL,例如https://ghe.<公司>.com
。仅 GitHub 企业版需要。callbackUrl
(可选): GitHub 启动 OAuth 流程时使用的回调 URL,例如https://your-intermediate-service.com/handler
。仅当Backstage不是直接接收方时需要(例如,一个 OAuth 应用程序用于多个Backstage实例)。
将提供程序添加到 Backstage 前端
要将提供程序添加到前端,请添加githubAuthApi
参考和SignInPage
如图所示将提供商添加到登录页面.
GitHub 应用程序与 GitHub OAuth 应用程序的区别
GitHub 应用程序会在程序安装级别处理 OAuth 范围,这意味着scope
调用getAccessToken
在前台调用getAccessToken
在开源插件中,仍应包含适当的作用域,但也应在插件 README 中记录 GitHub 应用程序需要哪些作用域。