谷歌OAuth2 OmniAuth Provider
要启用谷歌OAuth2 OmniAuth提供者,您必须向谷歌注册应用程序。谷歌将生成一个客户端ID和密钥供您使用。
启用谷歌OAuth
在谷歌这边:
- 导航到云资源管理器页面
- 选择创建项目
- 提供项目信息:
- 项目名称-“GitLab”在这里工作得很好。
- 项目ID-必须是唯一的所有谷歌开发者注册的应用程序。谷歌默认提供随机生成的Project ID。您可以使用随机生成的ID,也可以选择新的ID。
- 刷新页面,您应该在列表中看到您的新项目
- 去谷歌API控制台
- 在左上角选择之前创建的项目
- 选择凭证从侧边栏
- 选择OAuth同意屏幕在表格上填上所需的信息
- 在凭证选项卡上,选择创建凭证> OAuth客户端ID
填写所需信息
- 应用程序类型-选择“网页应用程式”
- 名字—使用默认值或自备
- 授权JavaScript来源- GitLab并没有真正使用这个,但请继续并放置
https://gitlab.example.com
授权重定向uri-输入你的域名,后面跟着回调uri一次一个:
https://gitlab.example.com/users/auth/google_oauth2/callbackhttps://gitlab.exampl.com/-/google_api/auth/callback
您现在应该能够看到客户端ID和客户端秘密。把它们记下来,或者把这页打开,因为你以后会用到它们。
从指示板选择ENABLE APIS AND SERVICES > Compute >谷歌Kubernetes Engine API > ENABLE
在你的GitLab服务器上:
打开配置文件。
对于Omnibus GitLab:
sudo编辑/etc/gitlab/gitlab.rb
从源代码安装:
cd/home/git/gitlabsudo- ugit- h编辑配置/ gitlab.yml
看到初始OmniAuth配置用于初始设置。
添加提供者配置:
对于Omnibus GitLab:
gitlab_rails[“omniauth_providers”]=[{“名称”=>“google_oauth2”,“app_id”=>“YOUR_APP_ID”,“app_secret”=>“YOUR_APP_SECRET”,“参数”=>{“access_type”=>“离线”,“approval_prompt”=>”}}]
从源代码安装:
- {name: 'google_oauth2', app_id: 'YOUR_APP_ID',app_secret:“YOUR_APP_SECRET”,参数:{access_type: 'offline', approval_prompt: "}}
改变
YOUR_APP_ID
到谷歌开发人员页面的客户端ID同样的,改变
YOUR_APP_SECRET
客户端的秘密确保将GitLab配置为使用FQDN,因为谷歌将不接受原始IP地址。
对于Omnibus包:
external_url“https://gitlab.example.com”
从源代码安装:
gitlab:宿主:https://gitlab.example.com
保存配置文件。
在登录页面上,现在应该在常规的登录表单下面有一个谷歌图标。单击图标开始身份验证过程。谷歌将要求用户登录并授权GitLab应用程序。如果一切顺利,用户将返回到GitLab并登录。