OmniAuth

支持的提供商

这是当前支持的 OmniAuth 提供商的列表。在继续阅读每个提供商的文档之前,请务必先阅读本文档,因为它包含所有提供商通用的一些设置。

提供商 OmniAuth 提供商名称
DingTalk dingtalk
GitHub github
GitLab.com gitlab

初始化配置

note在 11.4 及更高版本中,OmniAuth 默认处于启用状态。如果您使用的是早期版本,则必须明确启用它。

在配置 OmniAuth provider 之前,请配置所有提供商通用的设置。

设置 描述 默认值
allow_single_sign_on 使您能够列出自动创建极狐GitLab 帐户的提供程序。提供者名称在支持的提供商列表OmniAuth 提供商名称 列中可用。 默认值为false。 如果为false,则必须手动创建用户,否则他们无法使用 OmniAuth 登录。
auto_link_ldap_user 如果启用,则在极狐GitLab 中为通过 OmniAuth 提供商创建的用户创建 LDAP 身份。如果您启用了 LDAP (ActiveDirectory) 集成,则可以启用此设置。 要求用户的 uid 在 LDAP 和 OmniAuth 提供商中都相同。 默认值为 false.
block_auto_created_users 如果启用,将阻止自动创建的用户登录,直到他们获得管理员批准。 默认值为 true。如果您将该值设置为 false,请确保只为您可以控制的 allow_single_sign_on 定义 provider。否则,互联网上的任何用户都可以在未经管理员批准的情况下登录极狐GitLab。

要更改这些设置:

  • 对于 Omnibus 安装实例

    1. 打开配置文件:

      sudo editor /etc/gitlab/gitlab.rb
      
    2. 更新以下部分:

      # CAUTION!
      # This allows users to sign in without having a user account first. Define the allowed providers
      # using an array, for example, ["github", "gitlab"], or as true/false to allow all providers or none.
      # User accounts will be created automatically when authentication was successful.
      gitlab_rails['omniauth_allow_single_sign_on'] = ['github', 'gitlab']
      gitlab_rails['omniauth_auto_link_ldap_user'] = true
      gitlab_rails['omniauth_block_auto_created_users'] = true
      
  • 对于源安装实例

    1. 打开配置文件:

      cd /home/git/gitlab
      
      sudo -u git -H editor config/gitlab.yml
      
    2. 更新以下部分:

      ## OmniAuth settings
      omniauth:
        # Allow sign-in by using Twitter, Google, etc. using OmniAuth providers
        # Versions prior to 11.4 require this to be set to true
        # enabled: true
      
        # CAUTION!
        # This allows users to sign in without having a user account first. Define the allowed providers
        # using an array, for example, ["github", "gitlab"], or as true/false to allow all providers or none.
        # User accounts will be created automatically when authentication was successful.
        allow_single_sign_on: ["github", "gitlab"]
      
        auto_link_ldap_user: true
      
        # Locks down those users until they have been cleared by the admin (default: true).
        block_auto_created_users: true
      

配置完这些设置后,您可以配置您选择的 provider

在不禁用导入源的情况下启用或禁用 OmniAuth provider 登录

管理员可以为某些 OmniAuth provider 启用或禁用登录。

note默认情况下,为 config/gitlab.yml 中配置的所有 OAuth provider 启用登录。

要启用或禁用 OmniAuth provider:

  1. 在顶部栏上,选择 菜单 > 管理员
  2. 在左侧边栏,选择 设置
  3. 展开 登录限制
  4. 启用 OAuth 身份验证源 部分,选中或清除您要启用或禁用的每个 provider 的复选框。