以官方文档安装问题不大,但是这面主要记录几个歧义性问题
1.安装好keycloak跟gitlab
2.官方文档及参考:https://docs.gitlab.com/ee/administration/auth/oidc.html#keycloak
Q:YOUR CLIENT SECRET指什么?
A:当acess type为confidential时,该client会有credentials属性,直接复制那段字符就行,很多博客甚至官网里格式是xxx-xxx-xxxx这种,可能让大家以为是经过转义后的,并不是,各版本这个secret姿势不太一样,就这这段字符,直接粘
Q:gitlab.rb里gitlab_rails['omniauth_auto_sign_in_with_provider']是干嘛的?
A:如果我们设置,一般会设置gitlab_rails['omniauth_auto_sign_in_with_provider']='openid_connect',如果这个设置打开了,gitlab页面在访问的时候会自动直接跳转到keycloak的认证登录页,如果不打开还是gitlab自己的页面
建议不要打开该选项,因为你可能需要登录gitlab本身的root用户做些高权操作
Q:按文档配置完成后https://gitlab.example.com/users/auth/openid_connect这个post请求直接报500?
A:这个是最狗的一个问题,但不是都会出现,这个是https证书的问题。你的keycloak必须配置成https的并且gitlab的服务器认这个证书,所以如果是自签证书就麻烦了点,建议keycloak跟gitlab甚至所有服务都配好合法证书,会在无形间解决无数麻烦
容器里的gitlab加ca证书 cat /etc/gitlab/rootCA.pem >> /opt/gitlab/embedded/ssl/certs/cacert.pem && update-ca-certificates
Q:gitlab.rb里gitlab_rails['omniauth_enabled']、gitlab_rails['omniauth_allow_single_sign_on']?
A:在下面gitlab_rails['omniauth_providers']配置具体信息后,这俩好像会自动生效,经测试关闭了也没看出变化,当然可以直接全设置为true
Q:keycloak认证跳转回gitlab后卡一下仍然登录不进去?
A:需要gitlab的root用户对该用户进行审核通过,允许其使用