For repositories stored on GitLab, the
gitlab backend allows CMS users to log in directly with their GitLab account. Note that all users must have push access to your content repository for this to work.
Note: GitLab default branch is protected by default, thus typically requires
maintainer permissions in order for users to have push access.
With GitLab's PKCE authorization, users can authenticate with GitLab directly from the client. To do this:
- Follow the GitLab docs to add your Static CMS instance as an OAuth application and uncheck the Confidential checkbox. For the Redirect URI, enter the address where you access Static CMS, for example,
https://www.mysite.com/admin/. For scope, select
- GitLab gives you an Application ID. Copy this ID and enter it in your Static CMS
configfile, along with the following settings:
|auth_type||'pkce'||The authorization method|
|app_id||string||Application ID from your GitLab settings|
backend: name: gitlab repo: owner-name/repo-name # Path to your GitLab repository auth_type: pkce # Required for pkce app_id: your-app-id # Application ID from your GitLab settings
You can also use PKCE Authorization with a self-hosted GitLab instance. This requires adding
|api_root||string||Root API url for self-hosted instance|
|base_url||string||Root url for self-hosted instance|
|auth_endpoint||string||Auth endpoint on self-hosted instance|
backend: name: gitlab repo: owner-name/repo-name # Path to your GitLab repository auth_type: pkce # Required for pkce app_id: your-app-id # Application ID from your GitLab settings api_root: https://my-hosted-gitlab-instance.com/api/v4 base_url: https://my-hosted-gitlab-instance.com auth_endpoint: oauth/authorize
The GitLab backend does support git-lfs.