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