谷歌OAuth2 OmniAuth Provider

要启用谷歌OAuth2 OmniAuth提供者,您必须向谷歌注册应用程序。谷歌将生成一个客户端ID和密钥供您使用。

启用谷歌OAuth

在谷歌这边:

  1. 导航到云资源管理器页面
  2. 选择创建项目
  3. 提供项目信息:
    • 项目名称-“GitLab”在这里工作得很好。
    • 项目ID-必须是唯一的所有谷歌开发者注册的应用程序。谷歌默认提供随机生成的Project ID。您可以使用随机生成的ID,也可以选择新的ID。
  4. 刷新页面,您应该在列表中看到您的新项目
  5. 谷歌API控制台
  6. 在左上角选择之前创建的项目
  7. 选择凭证从侧边栏
  8. 选择OAuth同意屏幕在表格上填上所需的信息
  9. 凭证选项卡上,选择创建凭证> OAuth客户端ID
  10. 填写所需信息

    • 应用程序类型-选择“网页应用程式”
    • 名字—使用默认值或自备
    • 授权JavaScript来源- GitLab并没有真正使用这个,但请继续并放置https://gitlab.example.com
    • 授权重定向uri-输入你的域名,后面跟着回调uri一次一个:

      https://gitlab.example.com/users/auth/google_oauth2/callbackhttps://gitlab.exampl.com/-/google_api/auth/callback
  11. 您现在应该能够看到客户端ID和客户端秘密。把它们记下来,或者把这页打开,因为你以后会用到它们。

  12. 指示板选择ENABLE APIS AND SERVICES > Compute >谷歌Kubernetes Engine API > ENABLE

在你的GitLab服务器上:

  1. 打开配置文件。

    对于Omnibus GitLab:

    sudo编辑/etc/gitlab/gitlab.rb

    从源代码安装:

    cd/home/git/gitlabsudo- ugit- h编辑配置/ gitlab.yml
  2. 看到初始OmniAuth配置用于初始设置。

  3. 添加提供者配置:

    对于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: "}}
  4. 改变YOUR_APP_ID到谷歌开发人员页面的客户端ID

  5. 同样的,改变YOUR_APP_SECRET客户端的秘密

  6. 确保将GitLab配置为使用FQDN,因为谷歌将不接受原始IP地址。

    对于Omnibus包:

    external_url“https://gitlab.example.com”

    从源代码安装:

    gitlab宿主https://gitlab.example.com
  7. 保存配置文件。

  8. 重新配置重启GitLab如果您分别通过Omnibus或从源代码安装GitLab,则更改将生效。

在登录页面上,现在应该在常规的登录表单下面有一个谷歌图标。单击图标开始身份验证过程。谷歌将要求用户登录并授权GitLab应用程序。如果一切顺利,用户将返回到GitLab并登录。

Baidu
map