Skip to main content
Version: 简体中文

OAuth 2.0-Azure AD(中国版)单点登录配置示例

本文介绍基于 OAuth 2.0 协议,集成微软 Azure Active Directory 中国版 (以下简称 Azure AD) 与 DM Hub 的操作步骤,从而实现单点登录。DM Hub 单点登录配置整体流程请参阅单点登录。

在 DM Hub 中为 Azure AD 用户设置 OAuth 2.0 单点登录的操作步骤如下:

  1. 在 Azure AD 上注册新应用并获取所需配置信息
  2. 开启 DM Hub 中OAuth 2.0单点登录功能
  3. 将获取的 Azure AD 应用信息填写至 DM Hub 对应配置项
  4. 将 DM Hub 回调地址返回给 Azure AD
  5. 进行验证,新增单点登录用户
  6. 进行 SSO 登录

DM Hub SSO 配置项与 Azure AD 应用信息对应关系如下:

DM Hub 配置项对应的 Azure AD 应用程序信息
Authorization URIAzure AD 应用程序终结点 OpenID Connect 元数据文档 里的 authorization_endpoint。
请参阅OpenID Connect 元数据文档,了解获取方法。
Token URIAzure AD 应用程序终结点 OpenID Connect 元数据文档 里的 token_endpoint。
请参阅OpenID Connect 元数据文档,了解获取方法。
User Info URIAzure AD 应用程序终结点 OpenID Connect 元数据文档 里的 userinfo_endpoint。
请参阅OpenID Connect 元数据文档,了解获取方法。
jwkSet URI选填,Azure AD 应用终结点 OpenID Connect 元数据文档 里的 jwks_uri 。
请参阅OpenID Connect 元数据文档,了解获取方法。
Scopes选填,Azure AD 应用的 API 权限,如 openid,email, 或 profile。
请参阅设置 API 权限,了解操作方法。
Client IDAzure AD 应用程序(客户端) ID。
请参阅获取 Azure AD 应用程序(客户端) ID,了解获取方法。
Client SecreteAzure AD 应用程序的客户端密码值。
请参阅客户端密码值,了解获取方法。

1. 获取 Azure AD 应用信息​

1.1. 在 Azure AD 上为 DM Hub 新建一个应用​

  1. 登陆 Azure 中国版。
  2. 进入 Azure Active Directory 服务。
  3. 选择 应用注册。
  4. 点击 新注册。

azure1

  1. 在注册应用程序页面:
    1. 输入名称。
    2. 受支持的帐户类型:一般请保持默认的「仅此组织目录」。
    3. 重定向 URI:请填写临时任意值占位,例如 http://localhost:8080/。
    4. 点击 注册。
      azure2
      新应用注册完成后,Azure AD 会自动跳转至新应用详情页。

1.2. 获取 Azure AD 应用程序(客户端) ID​

复制保存新应用详情 概述 页面上的 应用程序(客户端) ID。

azure3

1.3. 获取 Azure AD 应用程序客户端密码值​

  1. 点击新应用详情页左侧导航栏上 证书与密码。
  2. 点击 新客户端密码。
  3. 在添加客户端密码对话框内,输入说明和截止期限:
    • 说明:可任意填写
    • 截止期限长:推荐选择 24个月,过期后需要更新
  4. 点击 添加。

azure4

  1. 新增客户端密码后,应用详情页会出现以下页面,注意复制保存 客户端密码值 备用。
注意

客户端密码 除了刚刚创建时,之后无法查看客户端密码值。请务必在创建时保存密码,然后再离开该页面。

azure5

1.4. 获取 Azure AD 应用的「OpenID Connect 元数据文档」数据​

OpenID Connect 描述了元数据文档,该文档包含了应用执行登录所需的大部分信息。OpenID Connect 元数据文档里的信息与 DM Hub SSO 配置字段对应如下:

  • token_endpoint: 对应 DM Hub SSO 配置项里的 Token URI
  • jwks_uri: 对应 DM Hub SSO 配置项里的 jwkSet URI
  • userinfo_endpoint: 对应 DM Hub SSO 配置项里的 UserInfo URI
  • authorization_endpoint: 对应 DM Hub SSO 配置项里的 Authorization URI

遵循以下步骤以获取 OpenID Connect 元数据文档相关信息:

  1. 点击应用详情页上 概述 > 终结点。
  2. 复制 OpenID Connect 元数据文档 地址。

azure8

  1. 在新的浏览器窗口中打开 OpenID Connect 元数据文档地址。
  2. 浏览器会返回 JSON 格式的数据,里面包含了 SSO 配置所需的信息。复制以下字段的值信息:
    • token_endpoint
    • jwks_uri
    • userinfo_endpoint
    • authorization_endpoint

azure9

1.5. 设置 Azure AD 应用 API 权限​

Azure AD 应用的 API 权限,对应 DM Hub SSO 配置项的 Scopes 字段。

  1. 点击应用详情页左侧导航栏上 API 权限。
  2. 点击 添加权限。
  3. 选择 Microsoft API > Microsoft Graph。

azure6

  1. 权限类型选择 委托的权限。
  2. 勾选 OpenId 权限里的 email,openid 和 profile。
  3. 点击 添加权限。

azure7

2. 开启 DM Hub 上的单点登录功能​

  1. 管理员进入 DM Hub 用户管理 > 单点登录 页面。
  2. 选择OAuth 2.0 认证协议。
  3. 打开单点登录功能开关。

3. 在 DM Hub 上填写 SSO 配置信息​

  1. 进入 DM Hub 单点登录 页面
  2. 点击 步骤1 在DMhub设置 右侧 编辑 按钮
  3. 将在 Azure AD 上获取的应用程序(客户端) ID、客户端密码值、authorization_endpoint、token_endpoint userinfo_endpoint 和 jwks_uri,填入到对应的 DM Hub SSO 配置项目中。Azure AD 配置信息获取方法,请参阅获取 Azure AD 应用信息。

填写示例如下:

DM Hub 配置项填写示例例
Authorization URIhttps://login.partner.microsoftonline.cn/856a38ec-36g8-5063-9617-ac77855e2d94/oauth2/v2.0/authorize
Token URIhttps://login.partner.microsoftonline.cn/856a38ec-36g8-5063-9617-ac77855e2d94/oauth2/v2.0/token
UserInfo URIhttps://microsoftgraph.chinacloudapi.cn/oidc/userinfo
Authentication MethodPOST
jwkSet URIhttps://login.partner.microsoftonline.cn/856a38ec-36g8-5063-9617-ac77855e2d94/oauth2/discovery/keys
Scopesemail profile openid
用户邮箱对应的参数email
Client IDf7072277-3697-5331-84g2-3041e773a6ca
Client Secret111ZpgusGY~*****************sM

4. 返回 DM Hub 的回调地址给 Azure AD​

设置完配置信息后,需要将 DM Hub 单点登录里提供的回调地址,填到 Azure 的身份验证中:

  1. 设置完配置信息后,复制 DM Hub 提供的回调地址。
  2. 打开 Azure AD 应用详情的 身份验证 页面。
  3. 点击 Web 模块上的 添加 URI 按钮。
  4. 输入 DM Hub 提供的回调地址
  5. 点击 保存。

azure10

5. 进行验证,在 DM Hub 上新增单点登录用户​

  1. 进入 DM Hub 用户管理 > 单点登录 > OAuth 2 页面,点击 开始验证。
  2. 点击 验证
  3. 验证通过后,点击 添加用户,输入邮箱等信息即可添加新SSO用户。
注意

DM Hub 中的单点登录邮箱要和 Azure 用户服务中用户的邮箱保持一致。

6. SSO 登录​

管理员将免登录地址告知单点登录用户,单点登录用户可以通过免登录地址直接进行登录。

sso9

单点登录用户也可以通过 DM Hub 登录页面的 SSO 登录(单点登录) 按钮登录。

sso10


Microsoft Azure AD UserInfo