Skip to main content

Okta 身份验证提供程序

Backstagecore-plugin-api软件包自带一个 Okta 身份验证提供程序,可使用 Okta OpenID Connect 对用户进行身份验证。

在 Okta 上创建应用程序

要添加 Okta 身份验证,必须从 Okta 创建一个应用程序:

  1. Log into Okta (generally company.okta.com) 2. Navigate to Menu >> Applications >> Applications >> Create App Integration 3. Fill out the Create a new app integration form: - Sign-in method: OIDC - OpenID Connect - Application type: Web Application - Click Next 4. Fill out the New Web App Integration form: - App integration name: Backstage (or your custom app name) - Grant type: Authorization Code & Refresh Token - Sign-in redirect URIs: http://localhost:7007/api/auth/okta/handler/frame - Sign-out redirect URIs: http://localhost:7007 - Controlled access: (select as appropriate) - Click Save

上面提供的配置示例适用于本地开发。 如果要进行生产部署,请替换为http://localhost:7007中包含您的Backstage实例可用的网址。

配置

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

auth:
environment: development
providers:
okta:
development:
clientId: ${AUTH_OKTA_CLIENT_ID}
clientSecret: ${AUTH_OKTA_CLIENT_SECRET}
audience: ${AUTH_OKTA_DOMAIN}
authServerId: ${AUTH_OKTA_AUTH_SERVER_ID} # Optional
idp: ${AUTH_OKTA_IDP} # Optional
# https://developer.okta.com/docs/reference/api/oidc/#scope-dependent-claims-not-always-returned
additionalScopes: ${AUTH_OKTA_ADDITIONAL_SCOPES} # Optional

所引用的值可在您的 Okta 站点的应用程序页面上找到。

  • clientId: 您在Okta上生成的客户端ID,例如3abe134ejxzF21HU74c1 * clientSecret: 应用程序显示的客户端Secret。 * audience: 应用程序显示的Okta域,例如https://company.okta.com * authServerId: 应用程序的授权服务器ID * idp: 应用程序的身份提供者,例如0oaulob4BFVa4zQvt0g3

additionalScopes是一个可选值,是一个以空格分隔的范围字符串,将与默认的scope的价值openid profile email offline_access以调整scope这将对退还的从属索赔例如,设置additionalScopes值为groups将导致请求返回用户所属的、与客户端应用程序的 ID 标记组过滤器相匹配的组的列表。

将提供程序添加到 Backstage 前端

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