第 1 章 启用 Microsoft Azure 身份验证供应商


Red Hat Developer Hub 包括一个 Microsoft Azure 身份验证供应商,可以使用 OAuth 验证用户。

流程

  1. 要允许 Developer Hub 与 Microsoft Azure 进行身份验证,请在 Microsoft Azure 中创建 OAuth 应用程序。

    1. 进入 Azure Portal > App registrations,并为 Developer Hub 创建 App Registration
    2. App registration overview 页面中,使用 配置添加新的 Web 平台 配置:

      重定向 URI
      输入 Developer Hub 中设置的后端身份验证 URI: https:// <APP_FQDN&gt; /api/auth/microsoft/handler/frame
      front-channel logout URL
      留空。
      隐式授权和混合流
      保留所有复选框都未清除。
    3. 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

    4. 进入 Certificates & Secrets 页面,然后进入 Client secret 选项卡,并创建新的客户端 secret。为下一步保存 Client secret
  2. 在 Developer Hub secret 中添加 Microsoft Azure 凭证。

    1. 编辑 Developer Hub secret,如 secrets-rhdh
    2. 添加以下键/值对:

      • AUTH_AZURE_CLIENT_ID :输入您在 Microsoft Azure 上生成的 应用程序 ID
      • AUTH_AZURE_CLIENT_SECRET :输入您在 Microsoft Azure 上生成的 客户端 secret
      • AUTH_AZURE_TENANT_ID: 在 Microsoft Azure 上输入您的 租户 ID
  3. 在 Developer Hub 自定义配置中设置 Microsoft Azure 身份验证供应商。

    编辑自定义 Developer Hub 配置映射,如 app-config-rhdh

    app-config-rhdh.yaml 内容中,在 root auth 配置下添加 microsoft 供应商配置,并启用 microsoft 供应商 for sign-in :

    app-config-rhdh.yaml fragment

    auth:
      environment: production
      providers:
        microsoft:
          production:
            clientId: ${AUTH_AZURE_CLIENT_ID}
            clientSecret: ${AUTH_AZURE_CLIENT_SECRET}
            tenantId: ${AUTH_AZURE_TENANT_ID}
            # domainHint: ${AUTH_AZURE_TENANT_ID} 1
            # additionalScopes: 2
              # - Mail.Send
    signInPage: microsoft 3

    1
    可选的用于单租户应用程序。您可以通过从其他租户过滤出帐户,减少具有多个租户中帐户的登录侵权。如果要将此参数用于单租户应用,请取消注释并输入租户 ID。如果您的应用程序注册是多租户的,请将此参数留空。如需更多信息,请参阅 Home Realm Discovery
    2
    可选用于其他范围。要为应用程序注册添加范围,取消注释并输入您要添加的范围列表。默认值为 ['user.read']
    3
    要启用 Microsoft Azure 供应商作为默认登录供应商。
注意

对于对外向访问有限制的环境,可选,如防火墙规则。如果您的环境有传出的访问限制,请确保您的 Backstage 后端可以访问以下主机:

  • login.microsoftonline.com :要获取并交换授权代码和访问令牌。
  • graph.microsoft.com :要获取用户配置文件信息(如此源代码中所示)。如果这个主机无法访问,用户可能会看到 Authentication failed,在尝试登录时无法获取用户配置集 错误。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.