Skip to main content
Version: 简体中文

OAuth 2.0-Okta 单点登录配置示例

本文介绍基于 OAuth 2.0 协议,集成 Okta 与 DM Hub 的操作步骤,从而实现单点登录。DM Hub 单点登录配置整体流程请参阅单点登录。

Okta 单点登录配置分为以下几步:

  1. 在 Okta 上新建一个应用以获取所需配置信息
  2. 开启 DM Hub 单点登录功能
  3. 将获取的 Okta 应用信息填写至 DM Hub 对应配置项
  4. 将 DM Hub 回调地址返回给 Okta
  5. 新增单点登录用户
  6. 进行 SSO 登录

从 Okta 上需要获取以下信息:

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

DM Hub 配置项对应的 Okta 应用程序信息
Authorization URIOAuth 2.0 授权端点的 URL。填写格式为:
{Okta Issuer URI}/v1/authorize
Token URI令牌端点的 URL,用于获取访问和 ID 令牌。填写格式为:
{Okta Issuer URI}/v1/token
UserInfo URI用于获取用户身份信息的地址。 填写格式为:
{Okta Issuer URI}/v1/userinfo
jwkSet URIjwkSet (JSON Web Key Set)文件的地址。填写格式为:
{Okta Issuer URI}/v1/keys
Scopes选填,授权请求流程期间客户端请求的范围,如 openid,email, profile
Client IDOkta 应用的 Client ID
Client SecretOkta 应用的 Client Secrets

1. 在 Okta 上获取配置信息​

1.1 获取 Okta 应用的 Client ID 和 Client Secret​

1.1.1 在 Okta 上新建应用程序​

在获取 Okta 应用程序的 Client ID 和 Client Secret 之前,需要在 Okta 上为 DM Hub 新建一个应用程序。

遵循以下步骤以创建 Okta 应用程序:

  1. 登入 Okta。
  2. 点击左侧导航栏上 Applications (应用)。
  3. 点击 Create App Integration 按钮,打开 Create a new app integration 对话框。

  1. Create a new app integration 的登陆方式(Sign-in method) 选 OIDC-OpenID Connect。
  2. Create a new app integration 的应用类型(Application type) 选 Web Application。
  3. 点击 Next。

  1. 在 New Web App Integration 页面设置以下信息:
    • App integration name: 自定义
    • Controlled access: 选择 Allow everyone in your organization to access.
  2. 点击 Save,Okta 会返回至新建的应用详情。

1.1.2 获取 Okta 应用的 Client ID 和 Client Secret​

应用程序新建完成后,便可以获取应用程序的 Client ID 和 Client Secret:

  1. 打开新建的 Okta 应用的详情页。
  2. 复制 Client ID 和 Client Secret

1.2 获取 Okta Issuer URI​

  1. 登入 Okta。
  2. 点击 Okta 左侧导航栏上 Security > API,进入 API 页面。
  3. 复制 Issuer URI。

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

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

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

将从 Okta 处获取的 Issuer URI, 应用 Client ID 和 Client Secret 填入 DM Hub 配置项中。

请参阅在 Okta 上获取信息,了解 Okta 的 Issuer URI, 应用 Client ID 和 Client Secret 的获取方法。

填写示例:

DM Hub SSO 配置项填写示例
Authorization URI填写格式:{Okta Issuer URI}/v1/authorize
示例:https://dev-3290755.okta.com/oauth2/default/v1/authorize
Token URI填写格式:{Okta Issuer URI}/v1/token
示例:https://dev-3290755.okta.com/oauth2/default/v1/token
UserInfo URI填写格式:{Okta Issuer URI}/v1/userinfo
示例:https://dev-3290755.okta.com/oauth2/default/v1/userinfo
Authentication MethodPOST
jwkSet URI填写格式:{Okta Issuer URI}/v1/keys
示例:https://dev-3290755.okta.com/oauth2/default/v1/keys
Scopesemail openid
用户邮箱对应的参数email
Client ID0oa43ffiywgntDcgA5d7
Client SecretW1kkdfjfi5IySxy*****************sM
你还可以这样获取 Authorization URI、Token URI、UserInfo URI、jwkSet URI
Okta 终结点数据 Authorization URI、Token URI、UserInfo URI、jwkSet URI,存储在 OpenID Connect 文档中。只需要打开 OpenID Connect 文档,即可一次获取所有数据。

OpenID Connect 文档地址格式:

https://${Okta域名}/.well-known/openid-configuration

在浏览器中打开 OpenID Connect 文档地址,浏览器会返回 JSON 格式的数据,复制所需字段即可。

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

  1. 设置完配置信息后,复制 DM Hub 提供的回调地址。

sso3

  1. 打开新建的 Okta 应用详情页。
  2. 点击 Okta 应用详情页 Genearl Settings 右侧的 Edit 按钮。

6

  1. 定位至 Okta 应用详情页的 LOGIN 模块。
  2. 将 DM Hub 的回调地址填写至 Okta Sign-in redirect URIs 和 Initiate login URI 输入框中。
  3. 点击 Save。

7

5. 验证,新增单点登录用户​

5.1 在 Okta 上新增单点登录用户​

  1. 进入 Okta Directory > People 页面。
  2. 点击 Add person,输入邮箱等信息。
  3. 点击 Activate 激活用户,Okta 系统会向用户邮箱发送通知邮件。

8

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

  1. 进入 DM Hub 用户管理 > 单点登录 > OAuth 2 页面,点击 开始验证。
  2. 点击 验证
  3. 验证通过后,点击 添加用户,输入邮箱等信息即可添加新SSO用户。 DM Hub 中的单点登录邮箱要和 Okta 中单点登录用户的邮箱保持一致。

6. SSO 登录​

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

sso9

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

sso10


参考​