Skip to main content

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 应用程序需要哪些作用域。