GitLab作为OAuth2身份验证服务提供商

本文档介绍如何使用GitLab作为OAuth身份验证服务提供者来登录其他服务。

如果您想使用其他OAuth身份验证服务提供者登录到GitLab,请参阅OAuth2客户端文档

OAuth简介

OAuth为客户端应用程序提供代表资源所有者对服务器资源的“安全委托访问”。事实上,OAuth允许授权服务器在获得资源所有者或最终用户的批准后向第三方客户端颁发访问令牌。

OAuth主要用作单点登录服务(SSO),但是您可以发现这个功能有很多不同的用途。例如,您可以允许用户使用他们的GitLab.com帐户登录到您的应用程序,或者可以使用GitLab.com对您的GitLab实例进行身份验证(请参阅GitLab OmniAuth).

“GitLab Importer”功能也使用OAuth协议来访问存储库,而无需将用户凭据共享给您的GitLab.com帐户。


GitLab支持两种向实例添加新的OAuth2应用程序的方法。您可以作为普通用户添加应用程序,也可以将其添加到管理区域。这意味着GitLab实际上可以拥有实例级和用户级的应用程序。除了所设置的权限级别(user/admin)不同之外,它们之间没有任何区别。默认的回调URL为http://your-gitlab.example.com/users/auth/gitlab/callback

通过概要文件添加应用程序

要通过配置文件添加新应用程序,请导航到配置文件设置>应用并选择新的应用程序

新的OAuth应用程序


2 .在申请表中输入a名字(任意),并确保设置正确重定向的URI这是用户授权GitLab后将被发送的URL。

新的OAuth申请表


当你击中提交您将获得应用程序ID和应用程序秘密,然后您可以将其用于连接到GitLab的应用程序。

OAuth应用程序ID和秘密


OAuth应用程序在管理区域

要创建不属于某个用户的应用程序,可以从管理区域创建应用程序。

OAuth admin_applications

您还可以将应用程序标记为受信任的当通过管理区域创建它时。通过这样做,这个应用程序将自动跳过用户授权步骤。


授权应用程序

您授权使用您的GitLab证书的每个应用程序都将显示在授权应用程序下节配置文件设置>应用

Authorized_applications


GitLab的OAuth应用程序支持作用域,允许任何给定应用程序执行各种操作。虽然目前只有两个范围可用-read_user而且api已经为轻松添加更多瞄准镜打下了基础。

在任何时候,你可以撤销任何访问,只需点击撤销

Baidu
map