以官方文檔安裝問題不大,但是這面主要記錄幾個歧義性問題
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用戶對該用戶進行審核通過,允許其使用