Skip to main content
GitLab is a bundled OAuth2 provider in authsome. Project and repository access on GitLab.com and self-hosted GitLab instances.

At a glance

Prerequisites

You need to register an OAuth app with GitLab once. Create an application under your GitLab user settings (or group / instance admin for self-hosted), set the redirect URI to authsome’s callback, and copy the application ID and secret. The redirect URI must be:
This is the only callback URL authsome’s PKCE flow listens on. Dashboard: https://gitlab.com/-/user_settings/applications.

Log in

The first time, authsome opens a local form at http://127.0.0.1:7998 to collect your client_id and client_secret. They are encrypted in your vault and reused on every subsequent login. A second browser window then opens to https://gitlab.com/oauth/authorize for the authorization step. Verify:

Custom scopes

The bundled definition requests api, read_user, profile, email, read_repository, write_repository. Override at login time:
The granted scopes are stored on the connection and visible in authsome get gitlab.

Self-hosted instances

For self-hosted GitLab, pass the base URL:
The base URL is saved on the connection and reused for every token refresh.

Multiple accounts

Pass --connection <name> on login and on every read command to keep two or more accounts on the same provider side by side. See Multiple connections per provider for the full pattern.

Use the token

Run the agent under the proxy (recommended).
Under the proxy, authsome sets GITLAB_ACCESS_TOKEN=authsome-proxy-managed in the child’s environment and injects the real token into outbound requests to gitlab.com. The child process never sees the actual value. Refresh tokens are never exported.

Override the bundled definition

User-registered files always win over bundled definitions.

What’s next

Run agents with the proxy

Inject the access token into outbound requests without exposing it.

Multiple connections per provider

Keep two or more accounts on the same provider side by side.

OAuth providers

All bundled OAuth providers.