本文重点介绍了在 DataEase V2 中利用 Keycloak 如何进行 OIDC(OpenID Connect)单点登录协议的配置对接。
一、概要 {#%E4%B8%80%E3%80%81%E6%A6%82%E8%A6%81}
单点登录
单点登录(Single Sign On,简称为 SSO)是一种身份验证方案,允许用户使用单一的认证凭证访问到多个独立的软件系统中的任意一个,减少了用户重复认证的步骤,并且统一了不同软件间的用户认证管理。常见的单点登录认证协议包括: OIDC、OAuth 2.0、SAML 2.0、CAS 等。
OIDC(OpenID Connect) 是一个身份认证协议,它规定了一套把用户身份信息从授权服务器(身份提供方)传递给客户机应用(身份使用方)的标准流程、格式。
Keycloak
Keycloak 是一个针对现代应用程序和服务的开源身份和访问管理解决方案。Keycloak 提供用户联合、强身份认证、用户管理及细粒度权限管理等功能,旨在帮助用户能够在最小的成本下向应用程序和服务中添加身份验证等功能。另外,Keycloak 支持单点登录,因此服务可以通过 OIDC、OAuth 2.0 等协议对接 Keycloak。
Keycloak 的安装和配置可参考文档:https://kb.fit2cloud.com/?p=121
二、收集配置信息 {#%E4%BA%8C%E3%80%81%E6%94%B6%E9%9B%86%E9%85%8D%E7%BD%AE%E4%BF%A1%E6%81%AF}
配置之前需要先收集 OIDC 的配置信息:
1、Client ID - 此设置定义为 OIDC 提供商提供的客户端 ID
2、Client Secret - 此设置定义 OIDC 的提供商提供的客户端密钥
3、Discovery - OpenID Endpoint Configuration,Shows the configuration of the protocol endpoints
4、Realm - 域名称,用于身份验证的领域,此处可自定义
5、Scope - 此设置定义在身份验证期间要请求的 OpenID Connect 作用域
eg: openid profile email
6、Use Pkce
访问令牌。设置为 true 时,在请求标头中设置访问令牌。
7、Redirect Uri - 跳转 DataEase 服务地址 URL
eg:https://<dataease IP>:9080/
注:以上信息,后面配置时会用到
三、配置步骤 {#%E4%B8%89%E3%80%81%E9%85%8D%E7%BD%AE%E6%AD%A5%E9%AA%A4}
进入认证设置页面,配置 OIDC 认证信息
点击保存后,开启 OIDC 认证开关,跳转到登录页面即可使用相应方式登录。