This documentation is for a release that is no longer maintained
See documentation for the latest supported version.第 1 章 启用 Microsoft Azure 身份验证供应商
Red Hat Developer Hub 包括一个 Microsoft Azure 身份验证供应商,可以使用 OAuth 验证用户。
流程
要允许 Developer Hub 与 Microsoft Azure 进行身份验证,请在 Microsoft Azure 中创建 OAuth 应用程序。
- 进入 Azure Portal > App registrations,并为 Developer Hub 创建 App Registration。
在 App registration overview 页面中,使用 配置添加新的 Web 平台 配置:
- 重定向 URI
-
输入 Developer Hub 中设置的后端身份验证 URI:
https:// <APP_FQDN> /api/auth/microsoft/handler/frame - front-channel logout URL
- 留空。
- 隐式授权和混合流
- 保留所有复选框都未清除。
在 API 权限 选项卡中,单击 Add Permission,然后为 Microsoft Graph API 添加以下 委派权限 :
-
email -
offline_access -
openid -
配置集 -
user.Read 您可以在此处和 Developer Hub 配置中定义 Microsoft Graph API 的可选自定义范围(
app-config-rhdh.yaml)。注意您的公司可能需要您授予 admin 同意这些权限。即使您的公司不需要管理员同意,您可能也要这样做,因为这意味着用户在第一次访问阶段时不需要单独同意。要授予 admin 同意,目录 admin 必须前往 admin consent 页面,然后单击 COMPANY NAME 的 Grant admin consent。
-
- 进入 Certificates & Secrets 页面,然后进入 Client secret 选项卡,并创建新的客户端 secret。为下一步保存 Client secret。
在 Developer Hub secret 中添加 Microsoft Azure 凭证。
-
编辑 Developer Hub secret,如
secrets-rhdh。 添加以下键/值对:
-
AUTH_AZURE_CLIENT_ID:输入您在 Microsoft Azure 上生成的 应用程序 ID。 -
AUTH_AZURE_CLIENT_SECRET:输入您在 Microsoft Azure 上生成的 客户端 secret。 -
AUTH_AZURE_TENANT_ID: 在 Microsoft Azure 上输入您的 租户 ID。
-
-
编辑 Developer Hub secret,如
在 Developer Hub 自定义配置中设置 Microsoft Azure 身份验证供应商。
编辑自定义 Developer Hub 配置映射,如
app-config-rhdh。在
app-config-rhdh.yaml内容中,在 rootauth配置下添加microsoft供应商配置,并启用microsoft供应商 for sign-in :app-config-rhdh.yamlfragmentCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 可选的用于单租户应用程序。您可以通过从其他租户过滤出帐户,减少具有多个租户中帐户的登录侵权。如果要将此参数用于单租户应用,请取消注释并输入租户 ID。如果您的应用程序注册是多租户的,请将此参数留空。如需更多信息,请参阅 Home Realm Discovery。
- 2
- 可选用于其他范围。要为应用程序注册添加范围,取消注释并输入您要添加的范围列表。默认值为
['user.read']。 - 3
- 要启用 Microsoft Azure 供应商作为默认登录供应商。
对于对外向访问有限制的环境,可选,如防火墙规则。如果您的环境有传出的访问限制,请确保您的 Backstage 后端可以访问以下主机:
-
login.microsoftonline.com:要获取并交换授权代码和访问令牌。 -
graph.microsoft.com:要获取用户配置文件信息(如此源代码中所示)。如果这个主机无法访问,用户可能会看到 Authentication failed,在尝试登录时无法获取用户配置集 错误。