跳到主要内容

设置 GitLab 社交登录

官方 Logto GitLab 社交登录连接器。使用 GitLab 作为 OAuth 2.0 认证 (Authentication) 身份提供商 (IdP)。

提示:

本指南假设你对 Logto 连接器 (Connectors) 有基本的了解。对于不熟悉的人,请参考 连接器 (Connectors) 指南以开始了解。

入门指南​

GitLab 连接器允许终端用户通过 GitLab OAuth 2.0 认证 (Authentication) 协议,使用他们自己的 GitLab 账户登录你的应用程序。

使用 GitLab 账户登录​

前往 GitLab 官网,使用你的 GitLab 账户登录。如果你还没有账户,可以注册一个新账户。

创建并配置 OAuth 应用​

按照 创建 GitLab OAuth 应用 的指南,注册一个新应用。

在 Name 中为你的新 OAuth 应用命名,并填写应用的 Redirect URI。将 Redirect URIs 自定义为 ${your_logto_origin}/callback/${connector_id}。connector_id 可以在 Logto 管理控制台连接器详情页的顶部栏找到。

在 scopes 部分,选择 openid。你也可以启用 profile 和 email。profile 权限 (Scope) 用于获取用户的个人信息,email 权限 (Scope) 用于获取用户的电子邮件地址。如果你想使用这些权限 (Scopes),请确保在 GitLab OAuth 应用中允许了这些权限 (Scopes)。这些权限 (Scopes) 也将在后续配置连接器时使用。

备注:
  • 如果你使用自定义域名,请将自定义域名和默认 Logto 域名都添加到 Redirect URIs,以确保 OAuth 流程在两个域名下都能正常工作。
  • 如果在登录时遇到 "The redirect_uri MUST match the registered callback URL for this application." 的错误提示,请尝试将 GitLab OAuth 应用的 Redirect URI 与 Logto 应用的重定向 URL(包括协议)保持一致,以解决该问题。

管理 OAuth 应用​

前往 GitLab 的 应用页面,你可以在这里添加、编辑或删除已有的 OAuth 应用。你也可以在 OAuth 应用详情页找到 Application ID 并生成 Secret。

配置你的连接器​

将你在上一节 OAuth 应用详情页获得的 Application ID 和 Secret 分别填写到 clientId 和 clientSecret 字段中。

scope 是一个以空格分隔的 权限 (Scopes) 列表。如果未提供,scope 默认为 openid。对于 GitLab 连接器,你可能需要使用的权限 (Scopes) 有 openid、profile 和 email。profile 权限 (Scope) 用于获取用户的个人信息,email 权限 (Scope) 用于获取用户的电子邮件地址。请确保你在 GitLab OAuth 应用中允许了这些权限 (Scopes)(在 创建并配置 OAuth 应用 部分配置)。

配置类型​

NameType
clientIdstring
clientSecretstring
scopestring

测试 GitLab 连接器​

就是这样。GitLab 连接器现在应该可以使用了。别忘了 在登录体验中启用连接器。

参考资料​

GitLab - API 文档 GitLab - OAuth 应用