Okta 身份验证提供程序
Backstagecore-plugin-api软件包自带一个 Okta 身份验证提供程序,可使用 Okta OpenID Connect 对用户进行身份验证。
在 Okta 上创建应用程序
要添加 Okta 身份验证,必须从 Okta 创建一个应用程序:
- Log into Okta (generally company.okta.com) 2. Navigate to Menu >> Applications >> Applications >>
Create App Integration3. 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如图所示将提供商添加到登录页面.