OmniAuth
支持的提供商
这是当前支持的 OmniAuth 提供商的列表。在继续阅读每个提供商的文档之前,请务必先阅读本文档,因为它包含所有提供商通用的一些设置。
提供商 | OmniAuth 提供商名称 |
---|---|
DingTalk | dingtalk
|
GitHub | github
|
GitLab.com | gitlab
|
初始化配置
在 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 安装实例
-
打开配置文件:
sudo editor /etc/gitlab/gitlab.rb
-
更新以下部分:
# 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
-
-
对于源安装实例
-
打开配置文件:
cd /home/git/gitlab sudo -u git -H editor config/gitlab.yml
-
更新以下部分:
## 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 启用或禁用登录。
默认情况下,为
config/gitlab.yml
中配置的所有 OAuth provider 启用登录。要启用或禁用 OmniAuth provider:
- 在顶部栏上,选择 菜单 > 管理员。
- 在左侧边栏,选择 设置。
- 展开 登录限制。
- 在 启用 OAuth 身份验证源 部分,选中或清除您要启用或禁用的每个 provider 的复选框。