Link

Keycloak 反向集成私有化 Gitlab

目录

  1. Keycloak 反向集成私有化 Gitlab
    1. 什么是反向集成?
    2. Keycloak 侧配置
    3. Gitlab 侧配置
    4. 实现效果
      1. (可选)关闭首次登录时的信息补充

什么是反向集成?

通常情况下,Keycloak 会被作为 SSO 认证服务来使用,与 Gitlab 对接时, Gitlab 会调用 Keycloak 完成身份认证,实现单点登录。

反向集成就是反过来,Gitlab 作为 Identity Provider,供 Keycloak 来单点登录使用。

Keycloak 官方有 gitlab 在线版的 SSO 集成,但是没有私有的,本文就来讲下怎么和私有化 Gitlab 对接。

Keycloak 侧配置

在 Keycloak 下列位置添加 OpenID Connet v1.0 连接:

image-20240822141051275

修改 Alias,然后复制第一行的 Redirect URI 备用(URI 会跟着 Alias 变化,所以需要先修改 Alias)。

在 Discovery Endpoint 中填写下列地址 https://gitlab.halfcoffee.com/.well-known/openid-configuration ,将里面的 gitlab.halfcoffee.com 替换为私有化部署的 Gitlab 地址即可 。

保持此页面打开,打开 Gitlab 继续进行配置。

image-20240822141212161

Gitlab 侧配置

在 Gitlab 下列位置 https://gitlab.halfcoffee.com/admin/applications 新增应用:

image-20240822141002677

填写应用名称,然后填写之前在 Keycloak 中记录的 Redirect URI:

image-20240822141503698

在权限中勾选了下列项目,供参考:

image-20240822141601917

点击保存后,会生成应用程序 ID 及密码,记录这两个信息。

image-20240822140927825

返回 Keycloak,在最下面找到 Client ID 和 Client Secret,分别填写 Gitlab 上的应用程序 ID 及密码即可。

image-20240822141730697

实现效果

登录 Keycloak 时最底层会有通过 gitlab 登录的选项:

https://auth.halfcoffee.com/realms/globalprotect/account

image-20240822141903138

点击后会进入 Gitlab 登录界面:

image-20240822142104512

登录完毕后会跳转到 Keycloak,需要进行用户名、邮箱等补充配置:

image-20240822142205107

登录完毕后查看用户信息:

image-20240822142331130

(可选)关闭首次登录时的信息补充

image-20240822142909658

image-20240822142919945