设置 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 应用部分配置)。
配置类型
| 名称 | 类型 |
|---|---|
| clientId | string |
| clientSecret | string |
| scope | string |
测试 GitLab 连接器
就是这样。GitLab 连接器现在应该可以使用了。别忘了 在注册和登录中启用连接器。