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选填,授权请求流程期间客户端请求的范围,如 openidemail, 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 URIsInitiate 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


参考