使用OAuth2集成Okta单点登录

更新时间:
复制为 MD 格式

本文介绍如何使用Okta作为认证中心,使用Quick BIOAuth2配置功能对接Okta单点登录。

场景说明

Okta是一家总部位于美国加利福尼亚州旧金山的身份识别与访问管理(IAM)服务提供商,其核心业务是提供基于云的身份管理解决方案,帮助企业安全地管理用户身份、访问权限以及认证流程。OktaQuick BI客户在选型过程中所考虑的登录认证中心之一,集成的Quick BI为独立部署版本。在进行操作步骤之前,请确保您已拥有Okta应用的管理权限,并具备Quick BI登录策略的配置权限。

操作步骤

步骤一:创建Okta Application(应用)

创建Application

使用管理员账号登录Okta,点击右侧ApplicationsCreate App Integration添加应用。在弹出的选择框中选择OIDC - OpenID Connect→Web Application后单击Next

image

image.png

步骤二:配置Okta客户端

  1. 单击Next后会进入配置页面,您可以在此进行以下配置:

    • App integration name:填写应用名称,示例:quickbi-oauth

    • Sign-in redirect URIs: 填写您的Quick BI地址,加上oauth2回调地址,示例:http://{yourBiDomain}/login/oauth2/callbackimage

    • Sign-out redirect URIs:填写登出后的回调地址,示例:http://{yourBiDomain}/home

    • Base URIs: 填写Quick BIdomain,示例:http://{yourBiDomain}image

    • 权限处按需授权,示例:授权所有组织成员image

  2. 填写完上述内容后单击Save保存。

  3. 配置完应用后,单击左侧菜单栏 Security -> API,新增一个授权服务组。image

  4. 填写授权服务名称、受众后保存:image

  5. 创建完成后点击图标进入编辑授权组,找到Access Policies,新增一个 policyimage

  6. 在受众处选择刚刚创建的quickbi-oauthclient,然后单击Create Policy保存。image

  7. 保存成功后添加RULEimage

  8. 填写完名称后,单击createimage

  9. 随后回到Security -> API界面,记录下对应授权组的ID,后续BI配置需要。image

步骤三:在Quick BI进行登录配置

在配置前,请阅读OAuth2.0 协议对接及配置说明文档,了解更多Quick BIOAuth2配置细节。

  1. 进入开放平台开放集成登录认证,点击添加按钮添加登录策略。image.pngimage.png

  2. 配置时的填写范例如上图,填写项解释如下。

    表单值

    填写内容解释

    策略唯一标识

    唯一标识名称

    策略配置

    策略匹配策略

    登录态

    Quick BI域名

  3. 之后点击下一步,进入下一步配置。image.png

  4. 打开OAuth2的按钮,进行配置。image.png

  5. 配置值说明及参考值如下,[]内需要根据你的Okta配置填写。

    配置值

    参考值

    登录地址

    [Okta地址]/oauth2/[Okta授权组ID]/v1/authorize?client_id=[Okta应用的clientId]&response_type=code&redirect_uri=[urlencode后的quickbi域名]%2Flogin%2Foauth2%2Fcallback&scope=openid%20profile%20email&state=123456123&nonce=12156

    登出地址

    [Okta地址]/oauth2/[Okta授权组ID]/v1/logout?id_token_hint=${token}&post_logout_redirect_uri=[urlencode后的quickbi域名]%2Fhome&state=123456123

    认证平台类型

    okta

    client ID

    [Okta应用的clientId]

    client secret

    [Okta应用的client secret]

    scope

    openid profile email

    请求 access_token 地址

    [Okta地址]/oauth2/[Okta授权组ID]/v1/token

    请求 access_token 传参形式

    body

    请求 access_token 额外参数

    {"redirect_uri":"[quickbi域名]/login/oauth2/callback","grant_type":"authorization_code","client_id":"[Okta应用clientId]","client_secret":"[Okta应用的client secret]"}

    请求用户信息地址

    [Okta地址]/oauth2/[Okta授权组ID]/v1/userinfo?client_secret=[Okta应用的client secret]&grant_type=authorization_code&client_id=[Okta应用clientId]&scope=openid%20profile%20email

    Authorization Header类型

    Bearer

    用户账户 ID 解析

    $.given_name

    用户账户名称解析

    $.given_name

    用户昵称解析

    $.name

    Cookie 失效时间(秒)

    86400

    Session 失效时间(秒)

    86400

至此配置步骤已执行完毕。