跳到主要内容

Set up social login with GitLab

The official Logto connector for GitLab social sign-in. Use GitLab as an OAuth 2.0 authentication identity provider.

提示:

This guide assumes you have basic understanding of Logto Connectors. For those unfamiliar, please refer to the Connectors guide to get started.

Get started

The GitLab connector enables end-users to sign in to your application using their own GitLab accounts via the GitLab OAuth 2.0 authentication protocol.

Sign in with GitLab account

Go to the GitLab website and sign in with your GitLab account. You may register a new account if you don't have one.

Create and configure OAuth app

Follow the creating a GitLab OAuth App guide, and register a new application.

Name your new OAuth application in Name and fill in Redirect URI of the app. Customize the Redirect URIs as ${your_logto_origin}/callback/${connector_id}. The connector_id can be found on the top bar of the Logto Admin Console connector details page.

On scopes, select openid. You may also want to enable profile and email. The profile scope is required to get the user's profile information, and the email scope is required to get the user's email address. Ensure you have allowed these scopes in your GitLab OAuth app if you want to use them. These scopes will also be used when configuring your connector later.

备注:
  • If you use custom domains, add both the custom domain and the default Logto domain to the Redirect URIs to ensure the OAuth flow works correctly with both domains.
  • If you encounter the error message "The redirect_uri MUST match the registered callback URL for this application." when logging in, try aligning the Redirect URI of your GitLab OAuth App and your Logto App's redirect URL (including the protocol) to resolve the issue.

Managing OAuth apps

Go to the Applications page on GitLab, where you can add, edit, or delete existing OAuth apps. You can also find the Application ID and generate Secret in the OAuth app detail pages.

Configure your connector

Fill out the clientId and clientSecret field with the Application ID and Secret you've got from the OAuth app detail pages mentioned in the previous section.

scope is a space-delimited list of scopes. If not provided, scope defaults to be openid. For GitLab connector, the scope you may want to use are openid, profile and email. profile scope is required to get the user's profile information, and email scope is required to get the user's email address. Ensure you have allowed these scopes in your GitLab OAuth app (configured in Create and configure OAuth app section).

Config types

NameType
clientIdstring
clientSecretstring
scopestring

Test GitLab connector

That's it. The GitLab connector should be available now. Don't forget to Enable connector in sign-in experience.

References

GitLab - API Documentation

GitLab - OAuth Applications