Offering a sign in with GitLab in your Customer Portal can be great if you target a developer audience. It allows your users to sign in with their GitLab account and provides you with their GitLab profile.To support Sign in with GitLab you need to configure the GitLab provider in the Kobble dashboard for your project.Once configured, the GitLab sign-in button will automatically be added on your Kobble Customer Portal.
Click on your profile picture and select Edit Profile.
Then, on the left menu, choose Applications and click on Add new application.
Fill in the form with the information of your application and the Redirect URI provided by Kobble and select the scopes read_user, openid, profile, email.
Before saving, make sure you have checked the following scopes: read_user, openid, profile, email.
Once created, copy the given Application ID and Secret.
Paste them into your Kobble settings, turn on the Enabled switch and save.
🎉 Et voilà! Your customer can now use GitLab to sign-in in your authentication portal. No further action is required on your end.
In case you change your Customer Portal domain later, you will have to go through this process again and update your Authorized Redirect URI in your GitLab configuration.
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Kobble Documentation","colors":{"primary":"#00ccc0","light":"#00ccc0","dark":"#00ccc0"},"favicon":"/favicon.svg","logo":{"light":"https://mintcdn.com/kobble/g-BoOFA0qGvJRBgZ/logo/light.svg?fit=max\u0026auto=format\u0026n=g-BoOFA0qGvJRBgZ\u0026q=85\u0026s=3866b83b51b022a4ce92a4b09e3c3105","dark":"https://mintcdn.com/kobble/g-BoOFA0qGvJRBgZ/logo/dark.svg?fit=max\u0026auto=format\u0026n=g-BoOFA0qGvJRBgZ\u0026q=85\u0026s=f1d44f22b25794bf21f9684c8c5fd60d"},"navbar":{"links":[{"label":"Support","href":"mailto:kevin@kobble.io"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.kobble.io"}},"footer":{"socials":{"twitter":"https://twitter.com/kobbleio","github":"https://github.com/kobble-io/docs","linkedin":"https://www.linkedin.com/company/kobble-io"}},"navigation":{"global":{"anchors":[{"anchor":"Community","href":"https://discord.gg/MCQZ8T78md","icon":"discord"},{"anchor":"Blog","href":"https://kobble.io/blog","icon":"newspaper"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"kobble","hasAudioNarration":false,"actualSubdomain":"kobble","customDomains":["docs.kobble.io"],"gitSource":{"type":"github","owner":"kobble-io","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21e61d8d1fcd719df0321f","collectionId":"37792dc4-2a32-4f7d-b5a0-1d05584753d5","schemaVersion":"v2"},"entitlements":{},"buildId":"6a21e61d8d1fcd719df0321f:success","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"Documentation","count":50},{"language":"default","tag":"Product","count":19},{"language":"default","tag":"Fullstack SDKs","count":17},{"language":"default","tag":"Next.js","count":17},{"language":"default","tag":"Components","count":8},{"language":"default","tag":"Webhooks","count":7},{"language":"default","tag":"Events","count":6},{"language":"default","tag":"Quickstart","count":5},{"language":"default","tag":"Authentication","count":5},{"language":"default","tag":"Social Login (OAuth)","count":4}]},"assistantConfig":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"product/authentication/social/gitlab","slug":"/product/authentication/social/gitlab","pageMetadata":{"title":"GitLab","description":"Configure GitLab OAuth for your Customer Portal.","href":"/product/authentication/social/gitlab"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Configure GitLab OAuth for your Customer Portal.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading,OptimizedImage,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`Offering a sign in with GitLab in your Customer Portal can be great if you target a developer audience. It allows your users to sign in with their GitLab account and provides you with their GitLab profile.`}),`\n`,_jsx(_components.p,{children:`To support Sign in with GitLab you need to configure the GitLab provider in the Kobble dashboard for your project.`}),`\n`,_jsx(_components.p,{children:`Once configured, the GitLab sign-in button will automatically be added on your Kobble Customer Portal.`}),`\n`,_jsx(Heading,{level:`2`,id:`configuration`,children:`Configuration`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Navigate to the `,_jsx(_components.a,{href:`https://app.kobble.io/p/authentication`,children:`Authentication`}),` section and choose the GitLab provider.`]}),`\n`,_jsx(_components.li,{children:`Copy the provided Redirect URI. Note this URI will change if you configure a custom domain later.`}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-1.png?fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=1ae4f4de12211530ad7ad4e5e144fd22`,alt:`GitLab Configuration 1`,\"data-og-width\":`1998`,width:`1998`,\"data-og-height\":`1712`,height:`1712`,\"data-path\":`images/settings/auth/gitlab-configuration-1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-1.png?w=280\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=a88839160db594eb177d98125bd826be 280w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-1.png?w=560\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=9247a0b4a01dadbe27cf251f1752058c 560w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-1.png?w=840\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=42d2b911827e81b250206dffe827d935 840w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=2444855c7583a618d7bf08fad9a0501b 1100w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=98bda6760d3fe15b9dea610194c42455 1650w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=fb057a049d08fd4830ae0d8310bb71a5 2500w`}),`\n`,_jsxs(_components.ol,{start:`3`,children:[`\n`,_jsxs(_components.li,{children:[`Open `,_jsx(_components.a,{href:`https://gitlab.com`,children:`your GitLab account`}),`.`]}),`\n`,_jsx(_components.li,{children:`Click on your profile picture and select Edit Profile.`}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-2.png?fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=37ed744a89e2ce47f05a86834d95ad0c`,alt:`GitLab Configuration 2`,\"data-og-width\":`1414`,width:`1414`,\"data-og-height\":`986`,height:`986`,\"data-path\":`images/settings/auth/gitlab-configuration-2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-2.png?w=280\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=2865ab6f93a17d4b45d48d3aaccd25a0 280w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-2.png?w=560\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=fd088010ca0b4d40727ad7755d570e23 560w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-2.png?w=840\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=59dd54f9a4e28734b5694a103b4a1e1a 840w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=8a2b602ab7a498f8f003f792767965aa 1100w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=d18fb27dcbf9056199f2258578e62d72 1650w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=e1bb1bc7667da41f1043dcfa503f1fd1 2500w`}),`\n`,_jsxs(_components.ol,{start:`5`,children:[`\n`,_jsx(_components.li,{children:`Then, on the left menu, choose Applications and click on Add new application.`}),`\n`,_jsxs(_components.li,{children:[`Fill in the form with the information of your application and the Redirect URI provided by Kobble and select the scopes `,_jsx(_components.strong,{children:`read_user`}),`, `,_jsx(_components.strong,{children:`openid`}),`, `,_jsx(_components.strong,{children:`profile`}),`, `,_jsx(_components.strong,{children:`email`}),`.`]}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-3.png?fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=8694edd5942f12c041cfafaf575fe0a5`,alt:`GitLab Configuration 3`,\"data-og-width\":`1582`,width:`1582`,\"data-og-height\":`1654`,height:`1654`,\"data-path\":`images/settings/auth/gitlab-configuration-3.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-3.png?w=280\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=29be45376d4ae40fc80c788998f8409d 280w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-3.png?w=560\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=223c76a25dd27c861a9fd00ac9ad5f57 560w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-3.png?w=840\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=3eb230b3f1176b1ebdb0f630bfe65ad3 840w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-3.png?w=1100\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=80cf997e5e9b3fac185f726d4beabee0 1100w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-3.png?w=1650\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=95b22b64c53e5e308800aa42529baf56 1650w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-3.png?w=2500\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=044d28059a183d98579fd3af27327638 2500w`}),`\n`,_jsxs(Warning,{children:[`Before saving, make sure you have checked the following scopes: `,_jsx(_components.strong,{children:`read_user`}),`, `,_jsx(_components.strong,{children:`openid`}),`, `,_jsx(_components.strong,{children:`profile`}),`, `,_jsx(_components.strong,{children:`email`}),`.`]}),`\n`,_jsxs(_components.ol,{start:`8`,children:[`\n`,_jsx(_components.li,{children:`Once created, copy the given Application ID and Secret.`}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-4.png?fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=4573571de221eaa8e402e2c7bee90d86`,alt:`GitLab Configuration 4`,\"data-og-width\":`2106`,width:`2106`,\"data-og-height\":`1020`,height:`1020`,\"data-path\":`images/settings/auth/gitlab-configuration-4.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-4.png?w=280\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=a61cefc19b0ad5c879c175a9f20768cb 280w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-4.png?w=560\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=71f993e60e0c582045a7a31818fb3998 560w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-4.png?w=840\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=0b7f7c7d5da0e49702d5347591be3a48 840w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-4.png?w=1100\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=4f5315efb68bfa6305a9cba36a7278d9 1100w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-4.png?w=1650\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=ee49675ca0f66ce47307bf32d8325860 1650w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-4.png?w=2500\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=ac41df448fc05ba081fa1e086743b8b8 2500w`}),`\n`,_jsxs(_components.ol,{start:`9`,children:[`\n`,_jsx(_components.li,{children:`Paste them into your Kobble settings, turn on the Enabled switch and save.`}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-5.png?fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=f79fd4190abbf9346a8d17d08dcfaf01`,alt:`GitLab Configuration 5`,\"data-og-width\":`1940`,width:`1940`,\"data-og-height\":`1698`,height:`1698`,\"data-path\":`images/settings/auth/gitlab-configuration-5.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-5.png?w=280\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=38cb239bf5f6ce0641a179a4b5403490 280w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-5.png?w=560\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=6166ac8bb579a4b15f0d757fcc9fdf68 560w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-5.png?w=840\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=49c80d465b286c4d551cda08dfc5e6bf 840w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-5.png?w=1100\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=1b8f07e5ed9d397956ccc2dea25c8a1f 1100w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-5.png?w=1650\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=be8ea3ed2b64468daf550baec61b6449 1650w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/gitlab-configuration-5.png?w=2500\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=a87e29144ddfb8ba31ac3de41f73b76b 2500w`}),`\n`,_jsx(_components.p,{children:`🎉 Et voilà! Your customer can now use GitLab to sign-in in your authentication portal. No further action is required on your end.`}),`\n`,_jsx(Warning,{children:`In case you change your Customer Portal domain later, you will have to go through this process again and update your Authorized Redirect URI in your GitLab configuration.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"GitLab","description":"Configure GitLab OAuth for your Customer Portal.","href":"/product/authentication/social/gitlab"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Configuration","slug":"configuration","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"kobble","siteName":"Kobble Documentation","title":"GitLab - Kobble Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T00:53:40.385Z","originalFileLocation":"product/authentication/social/gitlab.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Configure GitLab OAuth for your Customer Portal.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Kobble Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/kobble/6GowyAWKA8ZR1qGX/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/kobble/6GowyAWKA8ZR1qGX/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kobble/6GowyAWKA8ZR1qGX/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/kobble/6GowyAWKA8ZR1qGX/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/kobble/6GowyAWKA8ZR1qGX/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/kobble/6GowyAWKA8ZR1qGX/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kobble/6GowyAWKA8ZR1qGX/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/kobble/6GowyAWKA8ZR1qGX/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/kobble/6GowyAWKA8ZR1qGX/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"GitLab - Kobble Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Configure GitLab OAuth for your Customer Portal.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Kobble Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.kobble.io/product/authentication/social/gitlab\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://kobble.mintlify.app/_mintlify/api/og/v2?division=Social+Login+%28OAuth%29\u0026amp;title=GitLab\u0026amp;description=Configure+GitLab+OAuth+for+your+Customer+Portal.\u0026amp;theme=44777c1f8b93521e22f23e44\u0026amp;signature=d1b3886a3d92a16e6ef4db5cf7599a99f32b404d4476c219e7895e95803c066e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"GitLab - Kobble Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Configure GitLab OAuth for your Customer Portal.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://kobble.mintlify.app/_mintlify/api/og/v2?division=Social+Login+%28OAuth%29\u0026amp;title=GitLab\u0026amp;description=Configure+GitLab+OAuth+for+your+Customer+Portal.\u0026amp;theme=44777c1f8b93521e22f23e44\u0026amp;signature=d1b3886a3d92a16e6ef4db5cf7599a99f32b404d4476c219e7895e95803c066e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/kobble/6GowyAWKA8ZR1qGX/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Kobble Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00ccc0\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.kobble.io/product/authentication/social/gitlab\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/product/authentication/social/gitlab.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.kobble.io/#organization\",\"name\":\"Kobble Documentation\",\"url\":\"https://docs.kobble.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/kobble/g-BoOFA0qGvJRBgZ/logo/light.svg?fit=max\u0026auto=format\u0026n=g-BoOFA0qGvJRBgZ\u0026q=85\u0026s=3866b83b51b022a4ce92a4b09e3c3105\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.kobble.io#website\",\"name\":\"Kobble Documentation\",\"url\":\"https://docs.kobble.io\",\"publisher\":{\"@id\":\"https://docs.kobble.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.kobble.io/product/authentication/social/gitlab#webpage\",\"url\":\"https://docs.kobble.io/product/authentication/social/gitlab\",\"name\":\"GitLab\",\"description\":\"Configure GitLab OAuth for your Customer Portal.\",\"dateModified\":\"2026-01-07T00:53:40.385Z\",\"isPartOf\":{\"@id\":\"https://docs.kobble.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.kobble.io/product/authentication/social/gitlab#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.kobble.io/product/authentication/social/gitlab#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Product\",\"item\":\"https://docs.kobble.io/product/customer-portal/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Authentication\",\"item\":\"https://docs.kobble.io/product/authentication/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Social Login (OAuth)\",\"item\":\"https://docs.kobble.io/product/authentication/social/google\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"GitLab\",\"item\":\"https://docs.kobble.io/product/authentication/social/gitlab\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.kobble.io/product/authentication/social/gitlab#article\",\"headline\":\"GitLab\",\"name\":\"GitLab\",\"description\":\"Configure GitLab OAuth for your Customer Portal.\",\"url\":\"https://docs.kobble.io/product/authentication/social/gitlab\",\"mainEntityOfPage\":{\"@id\":\"https://docs.kobble.io/product/authentication/social/gitlab#webpage\"},\"dateModified\":\"2026-01-07T00:53:40.385Z\",\"publisher\":{\"@id\":\"https://docs.kobble.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.kobble.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Kobble Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Kobble Documentation","nav":{"global":{"anchors":[{"anchor":"Community","href":"https://discord.gg/MCQZ8T78md","icon":"discord"},{"anchor":"Blog","href":"https://kobble.io/blog","icon":"newspaper"}]},"anchors":[{"anchor":"Documentation","icon":"book-open","groups":[{"group":"Home","pages":[{"title":"Introduction","icon":"House","href":"/introduction"}]},{"group":"Quickstart","pages":[{"title":"Set up Kobble","icon":"Screwdriver","href":"/learning/quickstart/setup"},{"title":"Next quickstart","icon":"N","href":"/learning/quickstart/next"},{"title":"React quickstart","icon":"React","href":"/learning/quickstart/react"},{"title":"Vue.js quickstart","icon":"Vuejs","href":"/learning/quickstart/vuejs"},{"group":"Integrations","icon":"Plug","pages":[{"title":"Supabase","href":"/learning/quickstart/supabase"}]}]},{"group":"Fullstack SDKs","pages":[{"group":"Next.js","icon":"N","pages":[{"title":"Overview","href":"/libraries/fullstack-sdk/next/overview"},{"title":"Auth Middleware","href":"/libraries/fullstack-sdk/next/routes-guard"},{"group":"Components","pages":[{"title":"\u003cSignedIn />","href":"/libraries/fullstack-sdk/next/components/signed-in"},{"title":"\u003cSignedOut />","href":"/libraries/fullstack-sdk/next/components/signed-out"},{"title":"\u003cIsAllowed />","href":"/libraries/fullstack-sdk/next/components/is-allowed"},{"title":"\u003cIsForbidden />","href":"/libraries/fullstack-sdk/next/components/is-forbidden"},{"title":"\u003cLoginButton />","href":"/libraries/fullstack-sdk/next/components/login-button"},{"title":"\u003cLogoutButton />","href":"/libraries/fullstack-sdk/next/components/logout-button"},{"title":"\u003cPricingLink />","href":"/libraries/fullstack-sdk/next/components/pricing-link"},{"title":"\u003cProfileLink />","href":"/libraries/fullstack-sdk/next/components/profile-link"}]},{"group":"Hooks (client-side)","pages":[{"title":"useAuth()","href":"/libraries/fullstack-sdk/next/hooks/use-auth"},{"title":"useAccessControl()","href":"/libraries/fullstack-sdk/next/hooks/use-access-control"},{"title":"useKobble()","href":"/libraries/fullstack-sdk/next/hooks/use-kobble"}]},{"group":"Helpers (server-side)","pages":[{"title":"getAuth()","href":"/libraries/fullstack-sdk/next/helpers/get-auth"},{"title":"getAccessControl()","href":"/libraries/fullstack-sdk/next/helpers/get-access-control"},{"title":"getKobble()","href":"/libraries/fullstack-sdk/next/helpers/get-kobble"}]},{"group":"References","pages":[{"title":"Class: AccessControl","href":"/libraries/fullstack-sdk/next/references/classes/access-control"}]}]}]},{"group":"Client SDKs","pages":[{"title":"Javascript","icon":"js","href":"/libraries/client-sdk/javascript"},{"title":"React","icon":"React","href":"/libraries/client-sdk/react"},{"title":"React Web Extension","icon":"Chrome","href":"/libraries/client-sdk/react-web-extension"}]},{"group":"Admin SDKs","pages":[{"title":"Node.js","icon":"node","href":"/libraries/admin-sdk/node"},{"title":"Deno","icon":"dinosaur","href":"/libraries/admin-sdk/deno"},{"title":"Go","icon":"golang","href":"/libraries/admin-sdk/go"}]},{"group":"Product","pages":[{"group":"Customer Portal","icon":"Users","pages":[{"title":"Overview","href":"/product/customer-portal/overview"},{"title":"Portal Branding","href":"/product/customer-portal/branding"},{"title":"Legal Information","href":"/product/customer-portal/legal-info"},{"title":"Custom Scripts","href":"/product/customer-portal/custom-scripts"}]},{"group":"Authentication","icon":"User","pages":[{"title":"Overview","href":"/product/authentication/overview"},{"group":"Social Login (OAuth)","pages":[{"title":"Google","href":"/product/authentication/social/google"},{"title":"GitHub","description":"Configure GitHub OAuth for your Customer Portal.","href":"/product/authentication/social/github"},{"title":"GitLab","href":"/product/authentication/social/gitlab"},{"title":"Azure AD (Microsoft)","description":"Configure Azure AD OAuth for your Customer Portal.","href":"/product/authentication/social/azure-ad"}]}]},{"title":"Monetization","icon":"money-bills","href":"/product/monetization"},{"title":"Quotas","icon":"calculator","href":"/product/quotas"},{"title":"Permissions","icon":"shield","href":"/product/permissions"},{"group":"Webhooks","icon":"bolt","pages":[{"title":"Overview","href":"/product/webhooks/overview"},{"group":"Events","pages":[{"title":"User Created","href":"/product/webhooks/events/user.created"},{"title":"Subscription Created","href":"/product/webhooks/events/subscription.created"},{"title":"Subscription Updated","href":"/product/webhooks/events/subscription.updated"},{"title":"Subscription Deleted","href":"/product/webhooks/events/subscription.deleted"},{"title":"Quota Reached","href":"/product/webhooks/events/quota.reached"},{"title":"Ping","href":"/product/webhooks/events/ping"}]}]}]},{"group":"Guides","pages":[{"title":"Best Practices","href":"/guides/best-practices"},{"title":"Integrating Crisp","href":"/guides/crisp"}]}]}]},"title":"GitLab - Kobble Documentation","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-CaUwvYH3.js","lightbox-handle-r17bVUz3.js"]}