DataEase 单点登录之 OIDC
1. OIDC 简介
OIDC(OpenID Connect)是一个身份认证协议,它规定了一套把用户身份信息从授权服务器(身份提供方)传递给客户机应用(身份使用方)的标准流程、格式。市面上有多种产品支持 OIDC 协议实现单点登录,例如:Keycloak 提供了单点登录(SSO)功能,支持 OpenID Connect、OAuth 2.0、SAML 2.0 标准协议,拥有简单易用的管理控制台,并提供对 LDAP、Active Directory 以及 Github、Google 等社交账号登录的支持,做到了非常简单的开箱即用。
2. Keycloak 部署:
8080 #keycloak 登录界面端口
KEYCLOAK_USER=admin #Keycloak 管理员账号
KEYCLOAK_PASSWORD=admin #Keycloak 管理员账号密码
DB_VENDOR=mysql #使用 mysql 数据库
DB_USER=root #数据库用户
DB_PASSWORD=root #数据库密码
DB_ADDR=192.168.18.134 #数据库地址
DB_PORT=3306 #数据库端口
DB_DATABASE=keycloak #数据库实例
3. Keycloak 配置:
登录 Keycloakhttp://IP:8080/auth
这里我们使用的 admin/admin
3.1 创建新域
操作如下图:
编辑名称即可
3.2 创建客户端
编辑客户端 ID;
协议默认选择 openid-connect;
点击保存。
跳转到新页面后,访问类型:选择 confidential;
有效的重定向 URL:填写 DataEase 的登录 IP,注意后面加星号;
点击保存
3.3 创建用户
编辑用户名、邮件地址、名字信息即可;
点击保存;
点击“凭据”,设置密码,关闭“临时”
点击“Set Password”完成密码设置。
4. Keycloak 端查看 API 信息:
登录 Keycloak,进入“领域设置”,在“通用”中点击 “服务路径”中的“OpenID Endpoint Configuration”可打开 openid-configuration 页面,如下图:
留存此页面,用于 DataEase OIDC 配置参考
点击“客户端”,选择新建的客户端,点击“凭据”查看 secret。(拷贝密钥,DataEase 配置 OIDC 中会使用)
5. DataEase 端关联 Keycloak:
登录 DataEase,选择“系统管理--系统参数--OIDC 设置”
填写说明:Auth Endpoint :此设置定义 OIDC 提供程序的授权终端节点 URL。
eg: http:///auth/realms/dataease/protocol/openid-connect/auth
Token Endpoint 此设置定义 OIDC 提供程序的令牌信息获取地址 URL。
eg: http:///auth/realms/dataease/protocol/openid-connect/token
Userinfo Endpoint:此设置定义 OIDC 提供程序的用户信息获取地址 URL
eg: http:///auth/realms/dataease/protocol/openid-connect/userinfo
Logout Endpoint:此设置定义 OIDC 提供程序的用户信息获取地址 URL
eg: http:///auth/realms/dataease/protocol/openid-connect/logout
ClientId:此设置定义为 OIDC 提供商提供的客户端 ID
eg: de-cli 在 Keycloak 中选择“客户端”,查看创建的 ID。
Secret:此设置定义 OIDC 的提供商提供的客户端密钥
eg: w4yte46ur67ityf76ue46ur67tfy 在 Keycloak 中选择“客户端”,选择创建的 ID 并查看密钥。
scope:此设置定义在身份验证期间要请求的 OpenID Connect 作用域
eg: openid profile email
redirectUrl:跳转服务地址 URL
eg:http:///sso/callBack
6. 配置完成
访问 DetaEase 登录页面,选择 OIDC,即可切换到 Keycloak 登录界面。
使用在 keycloak 创建的用户登录
完成登录
评论