Galaxy 帮助中心

单点登录-OAuth 2.0

创建于 2022-11-07 / 最近更新于 2023-04-25 / 1864
字体: [默认] [大] [更大]

1. OAuth 2.0 概述

OAuth,是一种单点登录的方式,通过配置即可实现观远数据与OAuth之间的认证授权,用户可在已采购或自有搭建的统一账户登录平台登录观远数据。

2. OAuth 2.0 标准化配置步骤

2.1 准备工作

(1) 确认您使用的是否为标准OAuth2协议,如果不是则可能需要定制化开发。

(2) 收集以下信息:

  • AuthorizationURL:认证服务提供方地址,一般是供用户输入帐密/扫码的页面(获取Code)

如:http://xxx.guandata.com/auth/realms/guandata/protocol/openid-connect/auth

  • AccessTokenURL:向认证服务提供方请求Token的URL(使用Code换取Token)

如:http://xxx.guandata.com/auth/realms/guandata/protocol/openid-connect/token

  • ApiURL:向认证服务提供请求用户信息的URL(使用Token换取用户信息)

如:http://xxx.guandata.com/auth/realms/guandata/protocol/openid-connect/userinfo

  • LogoutURL(可选):将当前用户从SSO登出的地址

  • ClientId: 认证方客户端ID

  • ClientSecret: 认证方客户端密码

  • BindKey:返回的用户信息中用来和BI用户绑定的Key

(3) 确保BI服务器与SSO认证服务器网络联通。

2.2 修改配置

(1)进入管理员设置-系统集成-SSO页面,选择单点登录方式为:OAuth

(2)编辑OAuth配置

  • 认证协议(Protocol):OAuth 2.0

  • ClientId: 认证方客户端Id

  • ClientSecret: 认证方客户端密码

  • 身份认证地址(AuthorizationURL):认证服务提供方地址,一般为供用户输入帐密/扫码的页面地址

如:http://xxx.guandata.com/auth/realms/guandata/protocol/openid-connect/auth  

  • 回调地址(必填):   ${BI 服务地址}/standard-oauth2/authenticate  

  • AccessToken获取地址(AccessTokenURL):向认证服务提供方请求Token的URL(使用Code换取Token)Token支持在请求Header中传输

如:http://xxx.guandata.com/auth/realms/guandata/protocol/openid-connect/token

http://40.73.118.115:8180/auth/realms/gongxk/protocol/openid-connect/userinfo

  • 获取用户信息地址(ApiURL)

向认证服务提供方请求用户信息的url(使用token换取用户信息)。token可以以${accessToken}格式在地址url或header或Post body中传入。

其中,token支持三种传参方式:

方式一:支持在地址url中传参,如Get:https://www.xx.com/auth/userinfo?token=${accessToken};

方式二:支持在请求Header中传参,需在参数值中包含${accessToken},如:

方式三:支持在请求Post body中传参,需JSON行中包含${accessToken},如:

  • 用户信息字段(UserIDKey):用户信息中用来和BI用户绑定的Key

(3)默认登录地址和登录重定向(可选)

  • 默认登录地址为:${BI服务地址}/standard-oauth2/authenticate

  • 如果您提供了登出URL,则打开登出重定向开关,并将地址配置为您提供的LogoutURL(一般需要配置为单点登出地址)

  • 在BI中上传SSO BindKey关系表(请务必在修改数据库Provider之后操作)

3. 测试流程

  • 访问原BI地址,自动跳转到SSO登录页面 AuthorizationURL ,如Keycloak:

  • 输入正确的帐密后,跳转回BI,并确认登录用户为SSO表中绑定的SSO用户

  • 如果配置了登出地址,在BI中选择登出,会在SSO中登出且回到SSO登录页面


1 人点赞过