本文介绍如何使用Okta作为认证中心,使用Quick BI的OAuth2配置功能对接Okta单点登录。
场景说明
Okta是一家总部位于美国加利福尼亚州旧金山的身份识别与访问管理(IAM)服务提供商,其核心业务是提供基于云的身份管理解决方案,帮助企业安全地管理用户身份、访问权限以及认证流程。Okta是Quick BI客户在选型过程中所考虑的登录认证中心之一,集成的Quick BI为独立部署版本。在进行操作步骤之前,请确保您已拥有Okta应用的管理权限,并具备Quick BI登录策略的配置权限。
操作步骤
步骤一:创建Okta Application(应用)
创建Application
使用管理员账号登录Okta,点击右侧Applications→Create App Integration添加应用。在弹出的选择框中选择OIDC - OpenID Connect→Web Application后单击Next。


步骤二:配置Okta客户端
单击Next后会进入配置页面,您可以在此进行以下配置:
App integration name:填写应用名称,示例:quickbi-oauth
Sign-in redirect URIs: 填写您的Quick BI地址,加上oauth2回调地址,示例:http://{yourBiDomain}/login/oauth2/callback

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

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

填写完上述内容后单击Save保存。
配置完应用后,单击左侧菜单栏 Security -> API,新增一个授权服务组。

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

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

在受众处选择刚刚创建的quickbi-oauth的client,然后单击Create Policy保存。

保存成功后添加RULE:

填写完名称后,单击create:

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

步骤三:在Quick BI进行登录配置
在配置前,请阅读OAuth2.0 协议对接及配置说明文档,了解更多Quick BI的OAuth2配置细节。
进入开放平台→开放集成→登录认证,点击添加按钮添加登录策略。


配置时的填写范例如上图,填写项解释如下。
表单值
填写内容解释
策略唯一标识
唯一标识名称
策略配置
策略匹配策略
登录态
Quick BI域名
之后点击下一步,进入下一步配置。

打开OAuth2的按钮,进行配置。

配置值说明及参考值如下,[]内需要根据你的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
至此配置步骤已执行完毕。










