Offering a sign in with Azure AD in your Customer Portal may be a good idea for businesses that already use Microsoft services. It allows your users to sign in with their Microsoft account, which is convenient and secure.To support Sign in with Azure AD you need to configure the Azure AD provider in the Kobble dashboard for your project.Once configured, the Azure AD sign-in button will automatically be added on your Kobble Customer Portal.
Navigate to the Authentication section and choose the Azure AD provider.
Copy the provided Redirect URI. Note this URI will change if you configure a custom domain later.
Open your Azure Portal and navigate to the Azure Active Directory section.
Click on App registrations and then New registration.
Fill the OAuth form on your Azure Portal. Choose a Web platform and paste the Redirect URI provided by Kobble.
Save your app.
On the app page, create a new Client Secret by clicking on Add a certificate or secret
Select an expiration date that fits your needs and save the secret.
Copy/paste the Client Id and Client Secret into your Kobble settings, turn on the Enabled switch and save.
Go to API Permissions in the left menu of your Azure Portal.
Click on Add a permission
In the slider, click on Microsoft Graph and choose Delegated permissions
Select the following permissions: email, openid, profile and save.
Don’t forget to add the following permissions to your Azure configuration: email, openid, profile.
🎉 Et voilà! Your customer can now use Azure AD 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 Azure Client ID.
{"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.3971","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":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"product/authentication/social/azure-ad","slug":"/product/authentication/social/azure-ad","pageMetadata":{"title":"Azure AD (Microsoft)","description":"Configure Azure AD OAuth for your Customer Portal.","href":"/product/authentication/social/azure-ad"},"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 Azure AD 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 Azure AD in your Customer Portal may be a good idea for businesses that already use Microsoft services. It allows your users to sign in with their Microsoft account, which is convenient and secure.`}),`\n`,_jsx(_components.p,{children:`To support Sign in with Azure AD you need to configure the Azure AD provider in the Kobble dashboard for your project.`}),`\n`,_jsx(_components.p,{children:`Once configured, the Azure AD 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 Azure AD 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/azure-ad-configuration-1.png?fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=4d6128f0b99e8db91faa231915670adb`,alt:`Azure AD Configuration 1`,\"data-og-width\":`2367`,width:`2367`,\"data-og-height\":`1707`,height:`1707`,\"data-path\":`images/settings/auth/azure-ad-configuration-1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-1.png?w=280\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=ef096843552c37b222a1d2f8b1335d77 280w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-1.png?w=560\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=48246bd1cf9d5043480c7a97002635b1 560w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-1.png?w=840\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=15e7a8284bd1f633aeaba6ab4fc2575c 840w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=17761846b3bff524128264363b24fd71 1100w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=1744ce2ca1521cf5b49a335bee219bdc 1650w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=c734619c38b316ceb26379eaf35bfc31 2500w`}),`\n`,_jsxs(_components.ol,{start:`3`,children:[`\n`,_jsxs(_components.li,{children:[`Open your `,_jsx(_components.a,{href:`https://portal.azure.com/`,children:`Azure Portal`}),` and navigate to the Azure Active Directory section.`]}),`\n`,_jsx(_components.li,{children:`Click on App registrations and then New registration.`}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-2.png?fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=5e95ff73304679bffd160fb03f165c68`,alt:`Azure AD Configuration 2`,\"data-og-width\":`1288`,width:`1288`,\"data-og-height\":`546`,height:`546`,\"data-path\":`images/settings/auth/azure-ad-configuration-2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-2.png?w=280\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=0d1c68ac5f7e181eeeeda8cea877bc24 280w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-2.png?w=560\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=38092c66856d041a6b43cee1d3bf81ef 560w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-2.png?w=840\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=08e02258b2c346231e817724acadef96 840w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=914c594b378bb34eea9c124f3959a9f4 1100w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=df75be829f5ee44eca0fc847bbd74538 1650w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=d6681c5b0a875a7694ff3a8a6514a120 2500w`}),`\n`,_jsxs(_components.ol,{start:`5`,children:[`\n`,_jsx(_components.li,{children:`Fill the OAuth form on your Azure Portal. Choose a Web platform and paste the Redirect URI provided by Kobble.`}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-3.png?fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=ff1fa4afe831fd45771b62698b685f81`,alt:`Azure AD Configuration 3`,\"data-og-width\":`1546`,width:`1546`,\"data-og-height\":`1488`,height:`1488`,\"data-path\":`images/settings/auth/azure-ad-configuration-3.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-3.png?w=280\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=ce5a10dc8afdb1d91cf21bbe6378e450 280w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-3.png?w=560\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=83896ad19cb39b5b704bd1b67413e0f8 560w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-3.png?w=840\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=d9559de1477321549a69e8b7fbfbb14e 840w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-3.png?w=1100\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=0e16c1c58ffa896ff8dfa452c71097bd 1100w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-3.png?w=1650\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=9c0777520b1a25fddb821c84ba1ba97e 1650w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-3.png?w=2500\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=e2b98c14daeb53b1fc1d072873852002 2500w`}),`\n`,_jsxs(_components.ol,{start:`6`,children:[`\n`,_jsx(_components.li,{children:`Save your app.`}),`\n`,_jsx(_components.li,{children:`On the app page, create a new Client Secret by clicking on Add a certificate or secret`}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-4.png?fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=efcd03b8b9786436c72c4740686ae1bc`,alt:`Azure AD Configuration 4`,\"data-og-width\":`1600`,width:`1600`,\"data-og-height\":`595`,height:`595`,\"data-path\":`images/settings/auth/azure-ad-configuration-4.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-4.png?w=280\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=4a149097181b9165a6141f00f571c2a8 280w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-4.png?w=560\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=8cc8dd7ea450a38c064bd18500515dde 560w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-4.png?w=840\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=2161df7ba22313ed3690e7a9c5e72546 840w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-4.png?w=1100\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=a09ddf6fa8a3559ad4d02c6e22cb0807 1100w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-4.png?w=1650\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=7213ae1c8298e9fd99536bb427de4aa3 1650w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-4.png?w=2500\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=5bd83a6e42fd3c615dda5284d1334458 2500w`}),`\n`,_jsxs(_components.ol,{start:`8`,children:[`\n`,_jsx(_components.li,{children:`Select an expiration date that fits your needs and save the secret.`}),`\n`,_jsx(_components.li,{children:`Copy/paste the Client Id and Client Secret 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/azure-ad-configuration-5.png?fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=d13daf8fbb82611139a92be17a4a3408`,alt:`Azure AD Configuration 5`,\"data-og-width\":`2372`,width:`2372`,\"data-og-height\":`1698`,height:`1698`,\"data-path\":`images/settings/auth/azure-ad-configuration-5.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-5.png?w=280\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=a95bdc83f43ba53a2d5f69c43a81afce 280w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-5.png?w=560\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=1ceef8be1e1e2d759d18808bb52a2954 560w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-5.png?w=840\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=9fb81a71a363e6d04f7223fb30361f92 840w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-5.png?w=1100\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=d868fc66c66618c1568703d4f2c37fcf 1100w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-5.png?w=1650\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=afe862b990d4728d1be83cd5a0202998 1650w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-5.png?w=2500\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=1bfb18209a0572a50b59f0ada36a7d2b 2500w`}),`\n`,_jsxs(_components.ol,{start:`10`,children:[`\n`,_jsx(_components.li,{children:`Go to API Permissions in the left menu of your Azure Portal.`}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-6.png?fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=3dbd09cac4fbc0b7ad3bc74006fa727c`,alt:`Azure AD Configuration 6`,\"data-og-width\":`766`,width:`766`,\"data-og-height\":`1308`,height:`1308`,\"data-path\":`images/settings/auth/azure-ad-configuration-6.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-6.png?w=280\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=546f1566a6a3d33d3d9f6c2f54048dfb 280w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-6.png?w=560\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=f715aacb06455f7c5dd20bb75f28132a 560w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-6.png?w=840\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=9ba3c417ffa360fd0f40953ef270c05b 840w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-6.png?w=1100\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=b289a60e623758a69337d9f124065cc5 1100w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-6.png?w=1650\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=1e6ca42c4ec8bc61694fa0d62011275d 1650w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-6.png?w=2500\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=0d477fd06e591436820eeebdbf5c8ee9 2500w`}),`\n`,_jsxs(_components.ol,{start:`11`,children:[`\n`,_jsx(_components.li,{children:`Click on Add a permission`}),`\n`,_jsx(_components.li,{children:`In the slider, click on Microsoft Graph and choose Delegated permissions`}),`\n`,_jsxs(_components.li,{children:[`Select the following permissions: `,_jsx(_components.strong,{children:`email`}),`, `,_jsx(_components.strong,{children:`openid`}),`, `,_jsx(_components.strong,{children:`profile`}),` and save.`]}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-7.png?fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=f74d01568573de592c0ebc57daadaea6`,alt:`Azure AD Configuration 6`,\"data-og-width\":`1366`,width:`1366`,\"data-og-height\":`968`,height:`968`,\"data-path\":`images/settings/auth/azure-ad-configuration-7.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-7.png?w=280\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=3b8fdf6c9d7212986737e30f4c4361c9 280w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-7.png?w=560\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=729455848e2eb3da9e796fb470f97b54 560w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-7.png?w=840\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=23fc40f3f65ec060000a420d72634097 840w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-7.png?w=1100\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=cc260176a678d74ac1c0b4f8aeeb612e 1100w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-7.png?w=1650\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=48a55c31c9681e99c9299de3939e1a19 1650w, https://mintcdn.com/kobble/hy82n-p3NucxH50S/images/settings/auth/azure-ad-configuration-7.png?w=2500\u0026fit=max\u0026auto=format\u0026n=hy82n-p3NucxH50S\u0026q=85\u0026s=bd5461308dbb139a175edb5903235dc8 2500w`}),`\n`,_jsxs(Warning,{children:[`Don’t forget to add the following permissions to your Azure configuration: `,_jsx(_components.strong,{children:`email`}),`, `,_jsx(_components.strong,{children:`openid`}),`, `,_jsx(_components.strong,{children:`profile`}),`.`]}),`\n`,_jsx(_components.p,{children:`🎉 Et voilà! Your customer can now use Azure AD 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 Azure Client ID.`})]})}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":"Azure AD (Microsoft)","description":"Configure Azure AD OAuth for your Customer Portal.","href":"/product/authentication/social/azure-ad"}}},"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":"Azure AD (Microsoft) - Kobble Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T00:53:40.386Z","originalFileLocation":"product/authentication/social/azure-ad.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 Azure AD 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=\"Azure AD (Microsoft) - Kobble Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Configure Azure AD 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/azure-ad\">\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=Azure+AD+%28Microsoft%29\u0026amp;description=Configure+Azure+AD+OAuth+for+your+Customer+Portal.\u0026amp;theme=44777c1f8b93521e22f23e44\u0026amp;signature=e32fe37e7b245b85e4ebeee8078622735a2eceaedc2fa34d981cc48940eb338f\">\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=\"Azure AD (Microsoft) - Kobble Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Configure Azure AD 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=Azure+AD+%28Microsoft%29\u0026amp;description=Configure+Azure+AD+OAuth+for+your+Customer+Portal.\u0026amp;theme=44777c1f8b93521e22f23e44\u0026amp;signature=e32fe37e7b245b85e4ebeee8078622735a2eceaedc2fa34d981cc48940eb338f\">\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/azure-ad\">\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/azure-ad.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/azure-ad#webpage\",\"url\":\"https://docs.kobble.io/product/authentication/social/azure-ad\",\"name\":\"Azure AD (Microsoft)\",\"description\":\"Configure Azure AD OAuth for your Customer Portal.\",\"dateModified\":\"2026-01-07T00:53:40.386Z\",\"isPartOf\":{\"@id\":\"https://docs.kobble.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.kobble.io/product/authentication/social/azure-ad#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.kobble.io/product/authentication/social/azure-ad#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\":\"Azure AD (Microsoft)\",\"item\":\"https://docs.kobble.io/product/authentication/social/azure-ad\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.kobble.io/product/authentication/social/azure-ad#article\",\"headline\":\"Azure AD (Microsoft)\",\"name\":\"Azure AD (Microsoft)\",\"description\":\"Configure Azure AD OAuth for your Customer Portal.\",\"url\":\"https://docs.kobble.io/product/authentication/social/azure-ad\",\"mainEntityOfPage\":{\"@id\":\"https://docs.kobble.io/product/authentication/social/azure-ad#webpage\"},\"dateModified\":\"2026-01-07T00:53:40.386Z\",\"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","href":"/product/authentication/social/github"},{"title":"GitLab","description":"Configure GitLab OAuth for your Customer Portal.","href":"/product/authentication/social/gitlab"},{"title":"Azure AD (Microsoft)","href":"/product/authentication/social/azure-ad"}]}]},{"title":"Monetization","description":"Start monetizing your SaaS in 10 minutes.","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":"Azure AD (Microsoft) - Kobble Documentation","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-BZxD9MAj.js","lightbox-handle-r17bVUz3.js"]}