本文介绍如何使用GitHub作为认证中心,使用Quick BI的OAuth2配置功能对接GitHub单点登录。
场景说明
集成的Quick BI为独立部署版本。
本文实践使用个人GitHub开发平台搭建OAuth应用与Quick BI进行单点登录对接。GitHub 是一个面向开源及私有软件项目的托管平台,各种规模的企业都使用GitHub来支持他们的开发过程,并安全地构建软件。操作步骤开始前默认您已有个人GitHub开发平台,并拥有Quick BI登录策略的配置权限。
操作步骤
步骤一:创建OAuth App
使用个人账号登录开发配置页https://github.com/settings/apps,点击进入OAuth Apps。

点击New OAuth App,并填写对接参数,其中「Quick BI服务地址」为根据您Quick BI部署服务的真实情况填写访问host,配置后点击Register application。

步骤二:获取OAuth应用关键参数
关键参数Client ID和Client secrets需要在应用中获取。

其他关于如何授权OAuth应用,参见https://docs.github.com/zh/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps
步骤三:在Quick BI进行登录配置
在配置前可以阅读OAuth2.0 协议对接及配置说明文档了解更多Quick BI的Oauth2的配置细节。
进入开放平台->开放集成->登录认证。点击添加按钮添加登录策略。


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

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

配置值说明及参考值如下,[]内需要根据您的keycloak配置填写。
配置值 | 参考值 |
登录地址 | https://github.com/login/oauth/authorize?client_id={Github OAuth APP client_id}&scope=read |
登出地址 | 不支持登出 |
client ID | [Github OAuth APP client_id] |
client secret | [Github OAuth APP client secret] |
scope | read |
请求 access_token 地址 | https://github.com/login/oauth/access_token |
请求 access_token 传参形式 | URL |
请求 access_token 额外参数 | |
请求用户信息地址 | https://api.github.com/user |
Authorization Header类型 | |
用户账户 ID 解析 | $.id |
用户账户名称解析 | $.login |
用户昵称解析 | $.login |
Cookie 失效时间(秒) | 86400 |
Session 失效时间(秒) | 86400 |
至此配置步骤已执行完毕。