跳到主要内容

设置 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 用于获取用户的邮箱地址。如果你想使用这些 scope,请确保在你的 GitLab OAuth 应用中允许了这些 scope。这些 scope 之后在配置连接器时也会用到。

备注:
  • 如果你使用自定义域名,请将自定义域名和默认 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 连接器,你可能需要使用的 scope 有 openid、profile 和 email。profile scope 用于获取用户的个人信息,email scope 用于获取用户的邮箱地址。请确保你在 GitLab OAuth 应用中允许了这些 scope(在创建并配置 OAuth 应用部分配置)。

配置类型​

名称类型
clientIdstring
clientSecretstring
scopestring

测试 GitLab 连接器​

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

参考资料​

GitLab - API 文档 GitLab - OAuth 应用