使用OAuth2集成Github平台

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

场景说明

  • 集成的Quick BI为独立部署版本。

  • 本文实践使用个人GitHub开发平台搭建OAuth应用与Quick BI进行单点登录对接。GitHub 是一个面向开源及私有软件项目的托管平台,各种规模的企业都使用GitHub来支持他们的开发过程,并安全地构建软件。操作步骤开始前默认您已有个人GitHub开发平台,并拥有Quick BI登录策略的配置权限。

操作步骤

步骤一:创建OAuth App

  1. 使用个人账号登录开发配置页https://github.com/settings/apps,点击进入OAuth Apps。image.png

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

步骤二:获取OAuth应用关键参数

关键参数Client IDClient secrets需要在应用中获取。

image.png

其他关于如何授权OAuth应用,参见https://docs.github.com/zh/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps

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

在配置前可以阅读OAuth2.0 协议对接及配置说明文档了解更多Quick BIOauth2的配置细节。

进入开放平台->开放集成->登录认证。点击添加按钮添加登录策略。

image.png

image.png

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

表单值

填写内容解释

策略唯一标识

唯一标识名称

策略配置

策略匹配策略

登录态

Quick BI域名

之后点击下一步,进入下一步配置。

image.png

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

image

配置值说明及参考值如下,[]内需要根据您的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

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