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 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
如图所示将提供商添加到登录页面.