Gitlab 内置了一些第三方接入的OAuth Provider,可以便捷的接入像Google、Github、Facebook等第三方登录。而在公司内部,尤其是中国的公司内部,使用这些登录几乎是扯淡。LDAP是个很好的选择方案,但这里要说的不是LDAP,而是OAuth。为什么呢,因为目前Oauth认证已经非常普遍,网上的Spring boot oauth三分钟搭建更是数不胜数,我们可以利用 Gitlab 中 OAuth2Generic 来对接自己的 OAuth Server。
配置开始
我们要修改的配置文件为gitlab.rb,对于发布版或docker镜像的Gitlab ,该配置文件位于 /etc/gitlab/gitlab.rb。
### OmniAuth Settings
###! Docs: https://docs.gitlab.com/ce/integration/omniauth.html
gitlab_rails['omniauth_enabled'] = true
gitlab_rails['omniauth_allow_single_sign_on'] = ['oauth2_generic']
gitlab_rails['omniauth_block_auto_created_users'] = false
首先需要将 omniauth_enabled 设置为启用。如果开启allow_single_sign_on,对于没有注册账户的用户将会在gitlab中自动创建账户。如果开启block_auto_created_users,则自动注册的账户是被锁定的,需要管理员账户手动的为这些账户解锁,因此此处将其设置为false。
接下来需要配置具体的o