Log in to Microsoft Entra and navigate to the Identity/Applications/Enterprise applications view within Microsoft Entra.
2
Click on New application.
3
Once navigated to a new page, click on Create your own application.
4
Provide a name to the application and select “Register an application to integrate with Microsoft Entra ID (App you’re developing)” for the application purpose, then click on the Create button.
5
Select who can use the application from the given options according to your needs and then click on Register.
6
Now navigate to Identity/Applications/App registrations.
7
In the All applications tab, select the application which we created.
8
Copy the Application(Client) ID, then click on Endpoints and then copy the OpenID Connect metadata document(Discovery Endpoint).
9
Navigate to Certificates and Secrets.
10
Click on New client secret, give it a description and select the expiry according to your needs and then click on Add.
11
Copy the value(client secret) and store it, as it won’t be shown again.
12
Navigate to the settings page on Cosmo.
13
Give the connection a name, paste the OpenID Connect metadata document copied before, into the Discovery Endpoint, paste the Client ID and Client secret copied before into the Client ID and Client Secret fields respectively, and then click on Connect.
14
Configure the mapping between the roles in Cosmo and the groups in Microsoft Entra. The field Group in the provider should be populated with the Object ID of a group from Entra. Once all the mappers are configured, click on Save. Every member in those groups would get the respective role configured.
Object ID of the groups in Entra
15
Copy the sign-in and sign-out redirect URIs displayed in the dialog.
16
Navigate back to the App registrations page, in the All applications tab select the app which we created.
17
Click on Add a redirect URI, and now click on Add a platform, select Web and then paste the Sign-in and Sign-out redirect URIs in the Redirect URIs and Front-channel logout URL respectively.
18
Select ID tokens and then click on Configure.
19
Now navigate to Token configuration, and click on Add groups claim.
20
Select Security groups, expand ID, select Group ID and click on Add.
21
Navigate to API Permissions, and click on Add a permission.
22
Click on Microsoft Graph, and then on Delegated permissions, select email, openid and profile and then click on Add permissions.
23
Now you can assign users/groups to the application, and only those users will be able to log into Cosmo using the URL provided on setting up the provider.
Please make sure that the users added to the application have an email.Steps to add a user:
1
Navigate to Users/All users, click on New User and then click on Create a new user.
2
Provide the user principal name, the display name and then click on Next.
3
Provide the first name(optional) and the last name(optional).
4
Provide the email of the user(Required).
5
Then click on Next and assign the user to the groups according to your needs.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"WunderGraph","colors":{"primary":"#ea4899","light":"#ea4899","dark":"#ea4899"},"logo":{"light":"https://mintcdn.com/wundergraphinc/Lko791L3Kvuj3JHY/logo/light.svg?fit=max\u0026auto=format\u0026n=Lko791L3Kvuj3JHY\u0026q=85\u0026s=1877cdae169b31d438adf776ae7087f9","dark":"https://mintcdn.com/wundergraphinc/YDoaRPXJqqOa7ihg/logo/dark.svg?fit=max\u0026auto=format\u0026n=YDoaRPXJqqOa7ihg\u0026q=85\u0026s=2b2590e1246dbcde54be6f257ddc7885","href":"https://cosmo-docs.wundergraph.com/"},"favicon":"https://mintcdn.com/wundergraphinc/urh2bRDxnny5gbfk/favicon.png?fit=max\u0026auto=format\u0026n=urh2bRDxnny5gbfk\u0026q=85\u0026s=5c8f87531fa87214946d81c914c93efc","appearance":{"default":"dark"},"background":{"decoration":"windows"},"navbar":{"links":[{"href":"https://cosmo.wundergraph.com/login","label":"Cloud Login"}],"primary":{"type":"button","label":"Talk to an Expert","href":"https://wundergraph.com/contact/sales"}},"footer":{"socials":{"x":"https://twitter.com/wundergraphcom","discord":"https://wundergraph.com/discord","github":"https://github.com/wundergraph","youtube":"https://www.youtube.com/@wundergraph"},"links":[{"header":"Legal","items":[{"label":"Privacy Policy","href":"https://wundergraph.com/privacy-policy"},{"label":"Cookie Policy","href":"https://wundergraph.com/cookies"},{"label":"Website Terms","href":"https://wundergraph.com/terms"},{"label":"Cosmo Managed Terms","href":"https://wundergraph.com/cosmo-managed-service-terms"}]},{"header":"Trust","items":[{"label":"Trust Center","href":"https://trust.wundergraph.com/"}]}]},"fonts":{"heading":{"family":"Inter"},"body":{"family":"Inter"}},"styling":{"eyebrows":"breadcrumbs","codeblocks":"system","latex":false},"integrations":{"gtm":{"tagId":"GTM-5GPL7DQH"},"koala":{"publicApiKey":"pk_c7477bfbf86479d918562f7add220a2d7098"},"posthog":{"apiKey":"phc_CEnvoyw3KcTuC5E1seDPrgvAamgGRDLfzPi1e7RU1G1","apiHost":"https://eu.i.posthog.com"},"plausible":{"domain":"cosmo-docs.wundergraph.com"}},"banner":{"content":"Help map how teams scale Federated GraphQL in the State of Federation 2026 Survey. We donate $30 to UNICEF per response → [Take the survey](https://8bxwlo3ot55.typeform.com/to/zIJKRQUe).","dismissible":false},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Platform Status","icon":"signal","href":"https://status.wundergraph.com/"},{"anchor":"GitHub","icon":"github","href":"https://github.com/wundergraph/cosmo"},{"anchor":"Blog","icon":"newspaper","href":"https://wundergraph.com/blog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"wundergraphinc","hasAudioNarration":false,"actualSubdomain":"wundergraphinc","customDomains":["cosmo-docs.wundergraph.com"],"gitSource":{"type":"github","owner":"wundergraph","repo":"cosmo","deployBranch":"main","contentDirectory":"docs-website","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae1cf52372d045ef83e6e38","collectionId":"b28fa0be-6b11-4265-85ed-a698ee69dde7","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae1cf52372d045ef83e6e38"},"feedback":{"thumbs":true,"edits":false,"issues":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae1cf52372d045ef83e6e38","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"Documentation","count":220},{"language":"default","tag":"CLI","count":214},{"language":"default","tag":"Router","count":124},{"language":"default","tag":"Studio","count":56},{"language":"default","tag":"Tutorials","count":26},{"language":"default","tag":"GraphQL / Federation","count":24},{"language":"default","tag":"Directives","count":17},{"language":"default","tag":"Cosmo Connect","count":15},{"language":"default","tag":"Monograph","count":14},{"language":"default","tag":"Subgraph","count":14}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"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":"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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","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},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".osano-cm-dialog--type_box{border-radius:.375rem}.osano-cm-dialog--type_box,.osano-cm-info{--box-shadow:0 10px 15px -3px rgb(248 248 251 / 0.3),\n 0 4px 6px -4px rgb(248 248 251 / 0.3);-webkit-box-shadow:var(--box-shadow);-moz-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}.osano-cm-widget:focus{outline:0}"}],"page":{"pagePath":"studio/sso/microsoft-entra","slug":"/studio/sso/microsoft-entra","pageMetadata":{"title":"Microsoft Entra","description":"Setting up SSO with Microsoft Entra","icon":"microsoft","href":"/studio/sso/microsoft-entra"},"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: \"Setting up SSO with Microsoft Entra\"\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={p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Frame,Heading,Info,OptimizedImage,Step,Steps}=_components;if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`3`,id:`steps-to-set-entra-as-an-oidc-identity-provider`,children:`Steps to set Entra as an OIDC identity provider:-`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{children:[_jsxs(_components.p,{children:[`Log in to Microsoft Entra and navigate to the `,_jsx(_components.strong,{children:`Identity/Applications/Enterprise applications`}),` view within Microsoft Entra.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-app-in-microsoft-entra.png?fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=ad92403401a0ab846036eae1600db553`,alt:`Microsoft Entra admin center with Enterprise Applications and New Application button`,title:`Create new app in Microsoft Entra`,\"data-og-width\":`2304`,width:`2304`,\"data-og-height\":`1255`,height:`1255`,\"data-path\":`images/studio/sso/create-new-app-in-microsoft-entra.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-app-in-microsoft-entra.png?w=280\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=edd7810d174fb7df1a3083a19fa6e74c 280w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-app-in-microsoft-entra.png?w=560\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=305d2d2a89142e4b441735b626c0bc45 560w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-app-in-microsoft-entra.png?w=840\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=d45e46e2ce84f98fce8eefa1051d2f89 840w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-app-in-microsoft-entra.png?w=1100\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=aad48c34e70dc90da0a04a990b8559b9 1100w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-app-in-microsoft-entra.png?w=1650\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=a8fc498158615aa5cc5463b14692676e 1650w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-app-in-microsoft-entra.png?w=2500\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=2fdc9852018e51f6c13d2a45b0f70c05 2500w`})})]}),_jsx(Step,{children:_jsxs(_components.p,{children:[`Click on `,_jsx(_components.strong,{children:`New application.`})]})}),_jsxs(Step,{children:[_jsxs(_components.p,{children:[`Once navigated to a new page, click on `,_jsx(_components.strong,{children:`Create your own application`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-custom-application-in-entra.png?fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=773a969ad98eb5693e6bb344866069d9`,alt:`Microsoft Entra admin center showing Create Your Own Application option`,title:`Create custom application in Entra`,\"data-og-width\":`2304`,width:`2304`,\"data-og-height\":`1252`,height:`1252`,\"data-path\":`images/studio/sso/create-custom-application-in-entra.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-custom-application-in-entra.png?w=280\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=5a01a7da2b3ddc1b19797f1d397cc5b6 280w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-custom-application-in-entra.png?w=560\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=c7a417886a912699bab383c5a39b88c0 560w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-custom-application-in-entra.png?w=840\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=6a6e2c80e94432fb8241bbd5b92700e2 840w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-custom-application-in-entra.png?w=1100\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=ddac23d992fc7f98b87c5ef8787c30f6 1100w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-custom-application-in-entra.png?w=1650\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=9ae729dbafd5e8020216128fb23b300d 1650w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-custom-application-in-entra.png?w=2500\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=f7106707ec41e0c5d698e31173379da3 2500w`})})]}),_jsx(Step,{children:_jsxs(_components.p,{children:[`Provide a name to the application and select “`,_jsx(_components.strong,{children:`Register an application to integrate with Microsoft Entra ID (App you’re developing)`}),`” for the application purpose, then click on the `,_jsx(_components.strong,{children:`Create`}),` button.`]})}),_jsx(Step,{children:_jsxs(_components.p,{children:[`Select who can use the application from the given options according to your needs and then click on `,_jsx(_components.strong,{children:`Register.`})]})}),_jsx(Step,{children:_jsxs(_components.p,{children:[`Now navigate to `,_jsx(_components.strong,{children:`Identity/Applications/App registrations.`})]})}),_jsxs(Step,{children:[_jsxs(_components.p,{children:[`In the `,_jsx(_components.strong,{children:`All applications tab,`}),` select the application which we created.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/app-registrations-list-in-entra.png?fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=25f8da7aa92eadab39dc6622496c7576`,alt:`Microsoft Entra admin center listing registered apps “test” and “test2”`,title:`App registrations list in Entra`,\"data-og-width\":`2304`,width:`2304`,\"data-og-height\":`1253`,height:`1253`,\"data-path\":`images/studio/sso/app-registrations-list-in-entra.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/app-registrations-list-in-entra.png?w=280\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=b51e07ea4027783fa107634726f21c5b 280w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/app-registrations-list-in-entra.png?w=560\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=1a10d01dad7e66fe02325779e7da4b7a 560w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/app-registrations-list-in-entra.png?w=840\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=ac4934f34204e4b660b0473405d162c3 840w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/app-registrations-list-in-entra.png?w=1100\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=00863e7624bafd46ac28c8c83e3ff2a0 1100w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/app-registrations-list-in-entra.png?w=1650\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=cabd0996516c58c7d0374285a0f43e82 1650w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/app-registrations-list-in-entra.png?w=2500\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=78f666f42d6607cdb783f35301ad8e18 2500w`})})]}),_jsxs(Step,{children:[_jsxs(_components.p,{children:[`Copy the Application(Client) ID, then click on `,_jsx(_components.strong,{children:`Endpoints`}),` and then copy the `,_jsx(_components.strong,{children:`OpenID Connect metadata document`}),`(Discovery Endpoint).`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/openid-connect-metadata-in-entra.png?fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=67b910b6eeb094b88e578428e0715738`,alt:`Endpoints section in Microsoft Entra highlighting OpenID Connect metadata document`,title:`OpenID Connect metadata in Entra`,\"data-og-width\":`2304`,width:`2304`,\"data-og-height\":`1186`,height:`1186`,\"data-path\":`images/studio/sso/openid-connect-metadata-in-entra.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/openid-connect-metadata-in-entra.png?w=280\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=af555a9a3754045c46deaebea082eea4 280w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/openid-connect-metadata-in-entra.png?w=560\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=3a2bc0ac9af6c7cf9cfc029443184abc 560w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/openid-connect-metadata-in-entra.png?w=840\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=a5d97d30ee1faeb91da3230733a0fa36 840w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/openid-connect-metadata-in-entra.png?w=1100\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=964fbf94658e915dd1a3270fc0e1700e 1100w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/openid-connect-metadata-in-entra.png?w=1650\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=1492d863c142c770715c9bd99a4658c0 1650w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/openid-connect-metadata-in-entra.png?w=2500\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=0db60f3dc7b6e8ada5a2bbb0e157a5d2 2500w`})})]}),_jsx(Step,{children:_jsxs(_components.p,{children:[`Navigate to `,_jsx(_components.strong,{children:`Certificates and Secrets.`})]})}),_jsx(Step,{children:_jsxs(_components.p,{children:[`Click on `,_jsx(_components.strong,{children:`New client secret,`}),` give it a description and select the expiry according to your needs and then click on `,_jsx(_components.strong,{children:`Add`}),`.`]})}),_jsxs(Step,{children:[_jsxs(_components.p,{children:[`Copy the `,_jsx(_components.strong,{children:`value(client secret)`}),` and store it, as it won’t be shown again.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/certificates-secrets-with-new-client-secret.png?fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=421c4db59b1d5c89e2a3863d373c120a`,alt:`Microsoft Entra Certificates \u0026 secrets showing new client secret created on March 14, 2024`,title:`Certificates \u0026 secrets with new client secret`,\"data-og-width\":`2304`,width:`2304`,\"data-og-height\":`1240`,height:`1240`,\"data-path\":`images/studio/sso/certificates-secrets-with-new-client-secret.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/certificates-secrets-with-new-client-secret.png?w=280\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=74de521273bc26612dc2e78f7a13efdd 280w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/certificates-secrets-with-new-client-secret.png?w=560\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=09f4804636a2f69b7aee40d460ab10e8 560w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/certificates-secrets-with-new-client-secret.png?w=840\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=00e1a879dbdf9b3718f912b29c791915 840w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/certificates-secrets-with-new-client-secret.png?w=1100\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=472c5c3c8e3edc5f0818ad369c9000ea 1100w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/certificates-secrets-with-new-client-secret.png?w=1650\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=d329de46718d6abf21edfd5861e59415 1650w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/certificates-secrets-with-new-client-secret.png?w=2500\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=c4188fc0252648c8ba18b6857056800f 2500w`})})]}),_jsxs(Step,{children:[_jsx(_components.p,{children:`Navigate to the settings page on Cosmo.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/organization-settings-with-ai-rbac-scim.png?fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=0eb267c3aae7fa8077cf25a00dd86600`,alt:`Organization settings showing name, slug, and status of AI, RBAC, and SCIM features`,title:`Organization settings with AI, RBAC, SCIM`,\"data-og-width\":`2796`,width:`2796`,\"data-og-height\":`1902`,height:`1902`,\"data-path\":`images/studio/sso/organization-settings-with-ai-rbac-scim.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/organization-settings-with-ai-rbac-scim.png?w=280\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=74c3e9a0b2dab0c0ef6ee81ce464cd02 280w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/organization-settings-with-ai-rbac-scim.png?w=560\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=dcc767fd20d6aa74acb050f4c2512477 560w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/organization-settings-with-ai-rbac-scim.png?w=840\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=be8c0fcec75bfc0657d89961a4767202 840w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/organization-settings-with-ai-rbac-scim.png?w=1100\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=3a2d72732d3c8bc5a8b2ee352abe15a2 1100w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/organization-settings-with-ai-rbac-scim.png?w=1650\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=98bb1eefd7845b4057f0c5782ab84516 1650w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/organization-settings-with-ai-rbac-scim.png?w=2500\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=fa57713f56bebf5277d6a713189b3888 2500w`})})]}),_jsxs(Step,{children:[_jsxs(_components.p,{children:[`Give the connection a name, paste the `,_jsx(_components.strong,{children:`OpenID Connect metadata document`}),` copied before, into the `,_jsx(_components.strong,{children:`Discovery Endpoint,`}),` paste the `,_jsx(_components.strong,{children:`Client ID`}),` and `,_jsx(_components.strong,{children:`Client secret`}),` copied before into the `,_jsx(_components.strong,{children:`Client ID`}),` and `,_jsx(_components.strong,{children:`Client Secret fields respectively,`}),` and then click on `,_jsx(_components.strong,{children:`Connect.`})]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/connect-openid-provider-for-organization.png?fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=0dad92f93544f88a8d74d1a28190d770`,alt:`Connecting OpenID Connect provider for specific organization in Cosmo Docs`,title:`Connect OpenID provider for organization`,\"data-og-width\":`1536`,width:`1536`,\"data-og-height\":`856`,height:`856`,\"data-path\":`images/studio/sso/connect-openid-provider-for-organization.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/connect-openid-provider-for-organization.png?w=280\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=d1867e79366338476fbaee2e4cc2bfc3 280w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/connect-openid-provider-for-organization.png?w=560\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=5d5626ddb538b252281c2dae16f9cd13 560w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/connect-openid-provider-for-organization.png?w=840\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=b0e2ffacb937ac2afe3b8347ae5d397d 840w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/connect-openid-provider-for-organization.png?w=1100\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=12e020a9ce6c4d6664206544682c69ea 1100w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/connect-openid-provider-for-organization.png?w=1650\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=c949b13c6a8ca3d51e592a2291407329 1650w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/connect-openid-provider-for-organization.png?w=2500\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=9de0c43ff86f66ecf1a927554fa85d44 2500w`})})]}),_jsxs(Step,{children:[_jsxs(_components.p,{children:[`Configure the mapping between the roles in Cosmo and the groups in Microsoft Entra. The field `,_jsx(_components.strong,{children:`Group in the provider`}),` should be populated with the `,_jsx(_components.strong,{children:`Object ID of a group from Entra.`}),` Once all the mappers are configured, click on `,_jsx(_components.strong,{children:`Save`}),`. Every member in those groups would get the respective role configured.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/configure-group-mappers-for-roles.png?fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=604565f0852e2c98b98f1cb71935554b`,alt:`Group mapper configuration showing Cosmo role and provider group fields`,title:`Configure group mappers for roles`,\"data-og-width\":`1536`,width:`1536`,\"data-og-height\":`841`,height:`841`,\"data-path\":`images/studio/sso/configure-group-mappers-for-roles.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/configure-group-mappers-for-roles.png?w=280\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=85fde971fa8d63c45c2c86d7f5c1f488 280w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/configure-group-mappers-for-roles.png?w=560\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=bf5ca54ca4a6d35b6adfd15d8b22bc4d 560w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/configure-group-mappers-for-roles.png?w=840\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=6b760da40c162ccab3c5138ececc4b37 840w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/configure-group-mappers-for-roles.png?w=1100\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=00252bc8953ba74370e81762a5236c14 1100w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/configure-group-mappers-for-roles.png?w=1650\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=448c6972b00c1be7c699b53df43e2667 1650w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/configure-group-mappers-for-roles.png?w=2500\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=d2552677bce67a600cc320fc9b697584 2500w`})}),_jsx(`br`,{}),_jsx(Frame,{caption:`Object ID of the groups in Entra`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/groups-list-in-microsoft-entra.png?fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=5066e63dd8e3171029001510904848b9`,alt:`Microsoft Entra admin center showing two groups with object IDs listed`,title:`Groups list in Microsoft Entra`,\"data-og-width\":`2304`,width:`2304`,\"data-og-height\":`1254`,height:`1254`,\"data-path\":`images/studio/sso/groups-list-in-microsoft-entra.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/groups-list-in-microsoft-entra.png?w=280\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=25ac9be8a1182cfecdb37e95a52fc180 280w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/groups-list-in-microsoft-entra.png?w=560\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=7e13d5a3d24d9602c6ba3748db6e8256 560w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/groups-list-in-microsoft-entra.png?w=840\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=2c85bd25dde81615b0e6f74cec786e80 840w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/groups-list-in-microsoft-entra.png?w=1100\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=a3271280cac3a9ddbe9b74547022c889 1100w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/groups-list-in-microsoft-entra.png?w=1650\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=fab4651e82e951573acc2b60e3d81bd0 1650w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/groups-list-in-microsoft-entra.png?w=2500\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=0dacd723b6971906fd83338d8850f48f 2500w`})})]}),_jsxs(Step,{children:[_jsx(_components.p,{children:`Copy the sign-in and sign-out redirect URIs displayed in the dialog.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/oidc-provider-configuration-steps.png?fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=d718f9c21acd7a37d4cc98740d77172e`,alt:`Steps to configure OIDC provider with sign-in and sign-out redirect URLs`,title:`OIDC provider configuration steps`,\"data-og-width\":`2784`,width:`2784`,\"data-og-height\":`1848`,height:`1848`,\"data-path\":`images/studio/sso/oidc-provider-configuration-steps.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/oidc-provider-configuration-steps.png?w=280\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=64335b82adbaf0c6af88c7d78ca2844e 280w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/oidc-provider-configuration-steps.png?w=560\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=1544a8c1189deab3a3490680c3985328 560w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/oidc-provider-configuration-steps.png?w=840\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=47a2d5b7eb22be74a19050f27e8e0b01 840w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/oidc-provider-configuration-steps.png?w=1100\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=62baae756d64c5fb81812f38fee0fb81 1100w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/oidc-provider-configuration-steps.png?w=1650\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=2fa04f79122ad81622170d5db5d70196 1650w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/oidc-provider-configuration-steps.png?w=2500\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=f9aa67b2d988d83135d56b39f3ff434b 2500w`})})]}),_jsx(Step,{children:_jsxs(_components.p,{children:[`Navigate back to the `,_jsx(_components.strong,{children:`App registrations`}),` page, in the `,_jsx(_components.strong,{children:`All applications`}),` tab select the app which we created.`]})}),_jsxs(Step,{children:[_jsxs(_components.p,{children:[`Click on `,_jsx(_components.strong,{children:`Add a redirect URI, and`}),` now click on `,_jsx(_components.strong,{children:`Add a platform,`}),` select `,_jsx(_components.strong,{children:`Web`}),` and then paste the Sign-in and Sign-out redirect URIs in the `,_jsx(_components.strong,{children:`Redirect URIs`}),` and `,_jsxs(_components.strong,{children:[`Front-channel logout URL `,_jsx(_components.strong,{children:`respectively`}),`.`]})]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/add-redirect-uri-in-azure-ad-registration.png?fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=c94b9786b31ce848932f1a624b651d5e`,alt:`Azure AD registration page highlighting Add Redirect URI button`,title:`Add Redirect URI in Azure AD registration`,\"data-og-width\":`2304`,width:`2304`,\"data-og-height\":`1258`,height:`1258`,\"data-path\":`images/studio/sso/add-redirect-uri-in-azure-ad-registration.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/add-redirect-uri-in-azure-ad-registration.png?w=280\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=cbac85423dd927bb2672c5f1f6a56c94 280w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/add-redirect-uri-in-azure-ad-registration.png?w=560\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=9cedf328d953b95ec12a8b905a8401cd 560w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/add-redirect-uri-in-azure-ad-registration.png?w=840\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=337cc9b458523dec058a31434c8339f9 840w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/add-redirect-uri-in-azure-ad-registration.png?w=1100\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=6173bc2c97552f02e0e89e70c87da2c0 1100w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/add-redirect-uri-in-azure-ad-registration.png?w=1650\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=7c528e4632798c47aac46d82849cd296 1650w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/add-redirect-uri-in-azure-ad-registration.png?w=2500\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=c37c87150deb3669bb3c55b1e447aefa 2500w`})})]}),_jsx(Step,{children:_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`ID tokens`}),` and then click on `,_jsx(_components.strong,{children:`Configure.`})]})}),_jsx(Step,{children:_jsxs(_components.p,{children:[`Now navigate to `,_jsx(_components.strong,{children:`Token configuration`}),`, and click on `,_jsx(_components.strong,{children:`Add groups claim.`})]})}),_jsxs(Step,{children:[_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Security groups,`}),` expand `,_jsx(_components.strong,{children:`ID,`}),` select `,_jsx(_components.strong,{children:`Group ID`}),` and click on `,_jsx(_components.strong,{children:`Add.`})]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/token-configuration-with-group-claims.png?fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=2ba113210d5e024d60832f251d1b13eb`,alt:`Microsoft Entra Token configuration showing Security groups claim with Group ID option`,title:`Token configuration with group claims`,\"data-og-width\":`2304`,width:`2304`,\"data-og-height\":`1188`,height:`1188`,\"data-path\":`images/studio/sso/token-configuration-with-group-claims.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/token-configuration-with-group-claims.png?w=280\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=162fd7788f9d2ce03518fbdbe2232f34 280w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/token-configuration-with-group-claims.png?w=560\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=88cee185b966420fb5f89df3c228a80b 560w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/token-configuration-with-group-claims.png?w=840\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=480dae3d1877974aa5c6feed57691a43 840w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/token-configuration-with-group-claims.png?w=1100\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=d06113f92032a2dc537946c352c5a3c2 1100w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/token-configuration-with-group-claims.png?w=1650\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=d1e66fb22f79fd9511772217398bdcd8 1650w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/token-configuration-with-group-claims.png?w=2500\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=42a4dd8919441fb78ae63c16d324f44b 2500w`})})]}),_jsxs(Step,{children:[_jsxs(_components.p,{children:[`Navigate to `,_jsx(_components.strong,{children:`API Permissions`}),`, and click on `,_jsx(_components.strong,{children:`Add a permission.`})]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/Izr6l8-Us4FS_rh8/images/studio/sso/add-microsoft-graph-api-permissions.png?fit=max\u0026auto=format\u0026n=Izr6l8-Us4FS_rh8\u0026q=85\u0026s=1126b1ec4a711e3df0981a112a5fbabd`,alt:`Microsoft Entra API permissions section for adding Microsoft Graph API access`,title:`Add Microsoft Graph API permissions`,\"data-og-width\":`2304`,width:`2304`,\"data-og-height\":`1187`,height:`1187`,\"data-path\":`images/studio/sso/add-microsoft-graph-api-permissions.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/Izr6l8-Us4FS_rh8/images/studio/sso/add-microsoft-graph-api-permissions.png?w=280\u0026fit=max\u0026auto=format\u0026n=Izr6l8-Us4FS_rh8\u0026q=85\u0026s=935992bebb07701c6fbe62912c109196 280w, https://mintcdn.com/wundergraphinc/Izr6l8-Us4FS_rh8/images/studio/sso/add-microsoft-graph-api-permissions.png?w=560\u0026fit=max\u0026auto=format\u0026n=Izr6l8-Us4FS_rh8\u0026q=85\u0026s=7d67395014021110c061451a46820d83 560w, https://mintcdn.com/wundergraphinc/Izr6l8-Us4FS_rh8/images/studio/sso/add-microsoft-graph-api-permissions.png?w=840\u0026fit=max\u0026auto=format\u0026n=Izr6l8-Us4FS_rh8\u0026q=85\u0026s=f3912ab9c3e00b8bd417d22c65056e5c 840w, https://mintcdn.com/wundergraphinc/Izr6l8-Us4FS_rh8/images/studio/sso/add-microsoft-graph-api-permissions.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Izr6l8-Us4FS_rh8\u0026q=85\u0026s=d8e24c5c94dd99c8c49ff8e66ad01977 1100w, https://mintcdn.com/wundergraphinc/Izr6l8-Us4FS_rh8/images/studio/sso/add-microsoft-graph-api-permissions.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Izr6l8-Us4FS_rh8\u0026q=85\u0026s=2a1a9c434095597d32dc60029b4ad715 1650w, https://mintcdn.com/wundergraphinc/Izr6l8-Us4FS_rh8/images/studio/sso/add-microsoft-graph-api-permissions.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Izr6l8-Us4FS_rh8\u0026q=85\u0026s=6a9ac4bb91a1b1c32b3aa311563349aa 2500w`})})]}),_jsx(Step,{children:_jsxs(_components.p,{children:[`Click on `,_jsx(_components.strong,{children:`Microsoft Graph,`}),` and then on `,_jsx(_components.strong,{children:`Delegated permissions,`}),` select `,_jsx(_components.strong,{children:`email, openid and profile`}),` and then click on `,_jsx(_components.strong,{children:`Add permissions.`})]})}),_jsxs(Step,{children:[_jsx(_components.p,{children:`Now you can assign users/groups to the application, and only those users will be able to log into Cosmo using the URL provided on setting up the provider.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/add-user-or-group-in-entra.png?fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=71fe8e8624012f3407c1e4c561ea029c`,alt:`Microsoft Entra Users and groups section showing Add user/group button`,title:`Add user or group in Entra`,\"data-og-width\":`2304`,width:`2304`,\"data-og-height\":`1254`,height:`1254`,\"data-path\":`images/studio/sso/add-user-or-group-in-entra.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/add-user-or-group-in-entra.png?w=280\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=5f5b42295d8ba3558fc83334cebafd71 280w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/add-user-or-group-in-entra.png?w=560\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=dad219baa117898676935621748cd22d 560w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/add-user-or-group-in-entra.png?w=840\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=feaf38a0568c501f65ef2867d4b88090 840w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/add-user-or-group-in-entra.png?w=1100\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=65ff0959649ce9d0bbe43fe070b5cb87 1100w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/add-user-or-group-in-entra.png?w=1650\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=aac235e388a1c39953a0c0270a88d5d3 1650w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/add-user-or-group-in-entra.png?w=2500\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=36c8a4a2e08fb1c004356babd0e87083 2500w`})})]})]}),`\n`,_jsxs(Info,{children:[_jsx(_components.p,{children:`Please make sure that the users added to the application have an email.`}),_jsx(_components.p,{children:`Steps to add a user:`}),_jsxs(Steps,{children:[_jsxs(Step,{children:[_jsx(_components.p,{children:`Navigate to Users/All users, click on New User and then click on Create a new user.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-user-in-entra.png?fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=be00abc50a3428ec1230b9be14114d8d`,alt:`Microsoft Entra Users section highlighting Create new user option`,title:`Create new user in Entra`,\"data-og-width\":`2304`,width:`2304`,\"data-og-height\":`1254`,height:`1254`,\"data-path\":`images/studio/sso/create-new-user-in-entra.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-user-in-entra.png?w=280\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=596ff548554b7a021d6a9ca28df30727 280w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-user-in-entra.png?w=560\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=07c2c6d07a315e71932193bd6ee83cbb 560w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-user-in-entra.png?w=840\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=970ec2c04993a7c3ef5864565dcb8763 840w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-user-in-entra.png?w=1100\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=ecbb305072269a0fdbcd58d6d542a1d1 1100w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-user-in-entra.png?w=1650\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=e6a40ea8f84a41527a71ce8806e56ffc 1650w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-user-in-entra.png?w=2500\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=2505897af9a885871e6c49507dedee6e 2500w`})})]}),_jsxs(Step,{children:[_jsxs(_components.p,{children:[`Provide the user principal name, the display name and then click on `,_jsx(_components.strong,{children:`Next`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-user-form-in-entra.png?fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=596cae7d9e5deca8e4f91d99aa66cfce`,alt:`Create new user dialog in Microsoft Entra with principal name and display fields`,title:`Create new user form in Entra`,\"data-og-width\":`2304`,width:`2304`,\"data-og-height\":`1251`,height:`1251`,\"data-path\":`images/studio/sso/create-new-user-form-in-entra.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-user-form-in-entra.png?w=280\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=5f9316725a0a717a79a9bb2b84670748 280w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-user-form-in-entra.png?w=560\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=0e716f01c91ab7f8eab14f4602289bf4 560w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-user-form-in-entra.png?w=840\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=f22b072d8d9c08e9c1d6aa29ac3e7f1c 840w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-user-form-in-entra.png?w=1100\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=9ff888cb23c5fcc46777cd658312b852 1100w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-user-form-in-entra.png?w=1650\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=726dabfda11eb188f59026cd2651a984 1650w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/create-new-user-form-in-entra.png?w=2500\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=36e9e6a19c03996729335319dcf35e17 2500w`})})]}),_jsx(Step,{children:_jsx(_components.p,{children:`Provide the first name(optional) and the last name(optional).`})}),_jsxs(Step,{children:[_jsxs(_components.p,{children:[`Provide the email of the user(`,_jsx(_components.strong,{children:`Required`}),`).`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/new-user-creation-form-in-entra.png?fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=0c1d1ddec82e1f421931d2df71eb9d6b`,alt:`Microsoft Entra Identity section for new user creation with name and email fields`,title:`New user creation form in Entra`,\"data-og-width\":`2304`,width:`2304`,\"data-og-height\":`1185`,height:`1185`,\"data-path\":`images/studio/sso/new-user-creation-form-in-entra.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/new-user-creation-form-in-entra.png?w=280\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=9d3eae4798392b13fba138742ce0438c 280w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/new-user-creation-form-in-entra.png?w=560\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=3b3a02a7eaf92b8957b81206d36200be 560w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/new-user-creation-form-in-entra.png?w=840\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=b1a729a84b9f00e8a1181a2c444a40e8 840w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/new-user-creation-form-in-entra.png?w=1100\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=ee69242f1225256a2378aa215b4ee1e1 1100w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/new-user-creation-form-in-entra.png?w=1650\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=b2b355c739d1787f0af735c5c81aa3b2 1650w, https://mintcdn.com/wundergraphinc/42uxo0ok5O8ITXRT/images/studio/sso/new-user-creation-form-in-entra.png?w=2500\u0026fit=max\u0026auto=format\u0026n=42uxo0ok5O8ITXRT\u0026q=85\u0026s=2840464b1d7303006eefe885f18bf90f 2500w`})})]}),_jsx(Step,{children:_jsxs(_components.p,{children:[`Then click on `,_jsx(_components.strong,{children:`Next`}),` and assign the user to the groups according to your needs.`]})})]})]})]})}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":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Microsoft Entra","description":"Setting up SSO with Microsoft Entra","icon":"microsoft","href":"/studio/sso/microsoft-entra"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Steps to set Entra as an OIDC identity provider:-","slug":"steps-to-set-entra-as-an-oidc-identity-provider","depth":3,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/wundergraphinc/c20d56ed2ea5ad45/analytics.js","/_mintlify/custom/wundergraphinc/0a55a31d9c045e90/osano.js"],"subdomain":"wundergraphinc","siteName":"WunderGraph","title":"Microsoft Entra - WunderGraph","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-27T08:07:27.239Z","originalFileLocation":"studio/sso/microsoft-entra.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=\"dark\"}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=\"Setting up SSO with Microsoft Entra\">\u003cmeta data-mint-head name=\"application-name\" content=\"WunderGraph\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/wundergraphinc/lz2f-9ge_mXpMLAt/_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/wundergraphinc/lz2f-9ge_mXpMLAt/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/wundergraphinc/lz2f-9ge_mXpMLAt/_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/wundergraphinc/lz2f-9ge_mXpMLAt/_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/wundergraphinc/lz2f-9ge_mXpMLAt/_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/wundergraphinc/lz2f-9ge_mXpMLAt/_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/wundergraphinc/lz2f-9ge_mXpMLAt/_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/wundergraphinc/lz2f-9ge_mXpMLAt/_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/wundergraphinc/lz2f-9ge_mXpMLAt/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Microsoft Entra - WunderGraph\">\u003cmeta data-mint-head property=\"og:description\" content=\"Setting up SSO with Microsoft Entra\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"WunderGraph\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://cosmo-docs.wundergraph.com/studio/sso/microsoft-entra\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://wundergraphinc.mintlify.app/_mintlify/api/og/v2?division=SSO\u0026amp;title=Microsoft+Entra\u0026amp;description=Setting+up+SSO+with+Microsoft+Entra\u0026amp;theme=bec8a9a9f4ab1a77bed38caa\u0026amp;signature=450f08cb269a5fcba251552bd10cf09693b149fe2c569db8d09652abee4ebccd\">\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=\"Microsoft Entra - WunderGraph\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Setting up SSO with Microsoft Entra\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://wundergraphinc.mintlify.app/_mintlify/api/og/v2?division=SSO\u0026amp;title=Microsoft+Entra\u0026amp;description=Setting+up+SSO+with+Microsoft+Entra\u0026amp;theme=bec8a9a9f4ab1a77bed38caa\u0026amp;signature=450f08cb269a5fcba251552bd10cf09693b149fe2c569db8d09652abee4ebccd\">\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/wundergraphinc/lz2f-9ge_mXpMLAt/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"WunderGraph\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ea4899\">\u003clink data-mint-head rel=\"canonical\" href=\"https://cosmo-docs.wundergraph.com/studio/sso/microsoft-entra\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/studio/sso/microsoft-entra.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://cosmo-docs.wundergraph.com/#organization\",\"name\":\"WunderGraph\",\"url\":\"https://cosmo-docs.wundergraph.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/wundergraphinc/Lko791L3Kvuj3JHY/logo/light.svg?fit=max\u0026auto=format\u0026n=Lko791L3Kvuj3JHY\u0026q=85\u0026s=1877cdae169b31d438adf776ae7087f9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://cosmo-docs.wundergraph.com#website\",\"name\":\"WunderGraph\",\"url\":\"https://cosmo-docs.wundergraph.com\",\"publisher\":{\"@id\":\"https://cosmo-docs.wundergraph.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://cosmo-docs.wundergraph.com/studio/sso/microsoft-entra#webpage\",\"url\":\"https://cosmo-docs.wundergraph.com/studio/sso/microsoft-entra\",\"name\":\"Microsoft Entra\",\"description\":\"Setting up SSO with Microsoft Entra\",\"dateModified\":\"2026-01-27T08:07:27.239Z\",\"isPartOf\":{\"@id\":\"https://cosmo-docs.wundergraph.com#website\"},\"breadcrumb\":{\"@id\":\"https://cosmo-docs.wundergraph.com/studio/sso/microsoft-entra#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://cosmo-docs.wundergraph.com/studio/sso/microsoft-entra#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Studio\",\"item\":\"https://cosmo-docs.wundergraph.com/studio/intro\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SSO\",\"item\":\"https://cosmo-docs.wundergraph.com/studio/sso\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Microsoft Entra\",\"item\":\"https://cosmo-docs.wundergraph.com/studio/sso/microsoft-entra\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://cosmo-docs.wundergraph.com/studio/sso/microsoft-entra#article\",\"headline\":\"Microsoft Entra\",\"name\":\"Microsoft Entra\",\"description\":\"Setting up SSO with Microsoft Entra\",\"url\":\"https://cosmo-docs.wundergraph.com/studio/sso/microsoft-entra\",\"mainEntityOfPage\":{\"@id\":\"https://cosmo-docs.wundergraph.com/studio/sso/microsoft-entra#webpage\"},\"dateModified\":\"2026-01-27T08:07:27.239Z\",\"publisher\":{\"@id\":\"https://cosmo-docs.wundergraph.com/#organization\"},\"isPartOf\":{\"@id\":\"https://cosmo-docs.wundergraph.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"WunderGraph\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"WunderGraph","nav":{"global":{"anchors":[{"anchor":"Platform Status","icon":"signal","href":"https://status.wundergraph.com/"},{"anchor":"GitHub","icon":"github","href":"https://github.com/wundergraph/cosmo"},{"anchor":"Blog","icon":"newspaper","href":"https://wundergraph.com/blog"}]},"tabs":[{"tab":"Documentation","icon":"book-open","groups":[{"group":" ","pages":[{"title":"WunderGraph Cosmo","icon":"note","href":"/overview"},{"title":"Architecture","icon":"archway","href":"/architecture"},{"title":"Enterprise","icon":"building-memo","href":"/enterprise"},{"title":"Security \u0026 Compliance","icon":"lock","href":"/security-and-compliance"},{"title":"Self Hosting","icon":"note","href":"/self-hosted"}]},{"group":"Getting Started","pages":[{"title":"Cosmo Cloud Onboarding","icon":"cloud-sun","href":"/getting-started/cosmo-cloud-onboarding"},{"title":"Switch from Apollo to Cosmo","icon":"rotate","href":"/getting-started/switch-from-apollo-to-cosmo"},{"title":"Mastering Local Development for GraphQL Federation","icon":"code","href":"/tutorial/mastering-local-development-for-graphql-federation"}]},{"group":"Concepts","pages":[{"title":"Proposals","icon":"file-circle-plus","href":"/concepts/proposals"},{"title":"Feature Flags","icon":"flag","href":"/concepts/feature-flags"},{"title":"Namespaces","icon":"object-ungroup","href":"/concepts/namespaces"},{"title":"Schema Contracts","icon":"file-signature","href":"/concepts/schema-contracts"},{"title":"Cache Warmer","icon":"fire","href":"/concepts/cache-warmer"},{"title":"Router Compatibility Versions","icon":"handshake","href":"/concepts/router-compatibility-versions"}]},{"group":"Cosmo Connect","pages":[{"title":"Overview","icon":"circle-info","href":"/connect/overview"},{"title":"Router Plugins","icon":"plug","href":"/connect/plugins"},{"title":"gRPC Services","icon":"server","href":"/connect/grpc-services"}]},{"group":"Cosmo ConnectRPC","pages":[{"title":"Overview","icon":"circle-info","href":"/connect-rpc/overview"},{"title":"Define Contracts","icon":"scroll","href":"/connect-rpc/produce-define-contracts"},{"title":"Configure Router","icon":"gears","href":"/connect-rpc/produce-configure-router"},{"title":"Generate \u0026 Distribute SDKs","icon":"wand-magic-sparkles","href":"/connect-rpc/produce-generate-distribute-sdks"},{"title":"Consume SDKs","icon":"brackets-curly","href":"/connect-rpc/consume-via-sdks"},{"title":"Consume REST / OpenAPI","icon":"arrow-right-arrow-left","href":"/connect-rpc/consume-via-rest-openapi"},{"title":"Consume gRPC","icon":"tower-broadcast","href":"/connect-rpc/consume-via-grpc"}]},{"group":"Router","pages":[{"title":"Cosmo Router","icon":"door-open","href":"/router/intro"},{"title":"Download \u0026 Install","icon":"sign-posts-wrench","href":"/router/download-and-install"},{"group":"Configuration","icon":"sliders-up","pages":[{"title":"Router Configuration","icon":"circle-info","sidebarTitle":"Overview","href":"/router/configuration"},{"title":"Configuration Design","icon":"ruler-combined","href":"/router/configuration/config-design"},{"title":"Template Expressions","icon":"brackets-curly","href":"/router/configuration/template-expressions"}]},{"group":"MCP Gateway","icon":"robot","pages":[{"title":"MCP Gateway","icon":"robot","href":"/router/mcp"},{"title":"Quickstart","icon":"rocket","href":"/router/mcp/quickstart"},{"title":"Tools","icon":"wrench","href":"/router/mcp/tools"},{"title":"Configuration","icon":"sliders-up","href":"/router/mcp/configuration"},{"group":"OAuth 2.1","icon":"shield-check","pages":[{"title":"Overview","icon":"shield-check","href":"/router/mcp/oauth/overview"},{"title":"OAuth Quickstart","icon":"rocket","href":"/router/mcp/oauth/quickstart"},{"title":"Scope Enforcement","icon":"layer-group","href":"/router/mcp/oauth/scopes"},{"title":"OAuth Configuration Reference","icon":"sliders-up","href":"/router/mcp/oauth/configuration"}]},{"title":"IDE \u0026 AI Tool Setup","icon":"display-code","href":"/router/mcp/ide-setup"}]},{"group":"Custom Modules","icon":"cubes","pages":[{"title":"Overview","icon":"cubes","href":"/router/custom-modules"},{"title":"Migration: Request Deduplication","icon":"arrows-turn-right","href":"/router/custom-modules-migration"}]},{"group":"Cosmo Connect","icon":"network-wired","pages":[{"title":"Overview","icon":"lightbulb","sidebarTitle":"Overview","href":"/router/gRPC/concepts"},{"group":"Plugins","icon":"plug","pages":[{"title":"Plugins","sidebarTitle":"Overview","icon":"circle-info","href":"/router/gRPC/plugins"},{"title":"Debugging","sidebarTitle":"Debugging","icon":"bug","href":"/router/gRPC/plugins/debugging"},{"group":"Go Plugins","icon":"golang","pages":[{"title":"Go Plugins","icon":"circle-info","sidebarTitle":"Overview","href":"/router/gRPC/plugins/go-plugin/overview"},{"title":"HTTP Client","sidebarTitle":"HTTP Client","icon":"diagram-project","href":"/router/gRPC/plugins/go-plugin/http-client"},{"title":"Telemetry","sidebarTitle":"Telemetry","icon":"binary-circle-check","href":"/router/gRPC/plugins/go-plugin/telemetry"},{"title":"Logging","icon":"file-lines","href":"/router/gRPC/plugins/go-plugin/logging"}]},{"group":"TypeScript Plugins","icon":"t","pages":[{"title":"TypeScript Plugins","icon":"circle-info","sidebarTitle":"Overview","href":"/router/gRPC/plugins/ts-plugin/overview"}]}]},{"title":"gRPC Services","sidebarTitle":"gRPC Services","icon":"server","href":"/router/gRPC/grpc-services"},{"title":"GraphQL Support","icon":"shield-check","href":"/router/gRPC/graphql-support"},{"title":"Field Resolvers","sidebarTitle":"Field Resolvers","icon":"function","href":"/router/gRPC/field-resolvers"},{"title":"@requires","sidebarTitle":"@requires","icon":"link","href":"/router/gRPC/requires"}]},{"title":"Authentication \u0026 Authorization","icon":"camera-cctv","href":"/router/authentication-and-authorization"},{"title":"Advanced Data Privacy","icon":"fingerprint","href":"/router/advanced-data-privacy"},{"group":"Subscriptions","icon":"webhook","pages":[{"title":"Subscriptions","icon":"circle-info","sidebarTitle":"Overview","href":"/router/subscriptions"},{"title":"Server Sent Events (SSE)","icon":"server","href":"/router/subscriptions/server-sent-events-sse"},{"title":"Multipart HTTP Requests","icon":"network-wired","href":"/router/subscriptions/multipart-http-requests"},{"title":"Websocket Subprotocols","icon":"plug","href":"/router/subscriptions/websocket-subprotocols"},{"title":"Subscriptions Configuration","icon":"router","sidebarTitle":"Configuration","href":"/router/subscriptions/router-configuration-for-subscriptions"},{"title":"Migration: Subscriptions Overhaul","icon":"arrows-turn-right","href":"/router/subscriptions-migration"}]},{"group":"Defer","icon":"forward-step","pages":[{"title":"Defer","icon":"forward-step","sidebarTitle":"Overview","href":"/router/defer"},{"title":"Using @defer","icon":"code","sidebarTitle":"Usage and Examples","href":"/router/defer/usage"},{"title":"How the Router Executes @defer","icon":"diagram-project","sidebarTitle":"How It Works","href":"/router/defer/how-it-works"},{"title":"When to Use @defer","icon":"scale-balanced","sidebarTitle":"When to Use","href":"/router/defer/when-to-use"}]},{"group":"Persisted Queries","icon":"cloud-binary","pages":[{"title":"Persisted Queries","icon":"circle-info","sidebarTitle":"Overview","href":"/router/persisted-queries"},{"title":"Persisted Operations","icon":"database","href":"/router/persisted-queries/persisted-operations"},{"title":"Automatic Persisted Queries (APQ)","icon":"bolt","href":"/router/persisted-queries/automatic-persisted-queries-apq"}]},{"group":"Open Telemetry","icon":"binary-circle-check","pages":[{"title":"Open Telemetry","sidebarTitle":"Overview","icon":"circle-info","href":"/router/open-telemetry"},{"title":"Custom Attributes","icon":"globe","href":"/router/open-telemetry/custom-attributes"},{"title":"Prometheus OTLP Ingestion","icon":"gauge-high","href":"/router/open-telemetry/prometheus-otlp-ingestion"},{"title":"Setup OpenTelemetry Collector","icon":"server","href":"/router/open-telemetry/setup-opentelemetry-collector"},{"title":"Dynatrace","icon":"server","href":"/router/open-telemetry/dynatrace"}]},{"group":"Metrics \u0026 Monitoring","icon":"projector","pages":[{"title":"Metrics \u0026 Monitoring","sidebarTitle":"Overview","icon":"circle-info","href":"/router/metrics-and-monitoring"},{"title":"Span Error Status \u0026 Error Metrics","sidebarTitle":"Span Error Status","icon":"triangle-exclamation","href":"/router/metrics-and-monitoring/span-error-status"},{"title":"Exemplars","sidebarTitle":"Exemplars","icon":"crosshairs","href":"/router/metrics-and-monitoring/exemplars"},{"title":"Prometheus Metric Reference","icon":"gauge-high","href":"/router/metrics-and-monitoring/prometheus-metric-reference"},{"title":"Grafana","icon":"chart-line","href":"/router/metrics-and-monitoring/grafana"}]},{"group":"Proxy capabilities","icon":"bridge-circle-check","pages":[{"title":"Proxy Capabilities","icon":"circle-info","sidebarTitle":"Overview","href":"/router/proxy-capabilities"},{"title":"Subgraph Request Headers Operations","icon":"arrow-right-to-bracket","href":"/router/proxy-capabilities/subgraph-request-header-operations"},{"title":"Subgraph Response Header Operations","icon":"arrow-right-from-bracket","href":"/router/proxy-capabilities/subgraph-response-header-operations"},{"title":"Forward Client Extensions","icon":"share-nodes","href":"/router/proxy-capabilities/forward-client-extensions"},{"title":"Adjusting Cache Control","icon":"clock","href":"/router/proxy-capabilities/adjusting-cache-control"},{"title":"Override Subgraph Config","icon":"sliders","href":"/router/proxy-capabilities/override-subgraph-config"},{"title":"Router Response Header Operations","icon":"arrow-right-from-bracket","href":"/router/proxy-capabilities/router-response-header-operations"}]},{"group":"Traffic shaping","icon":"road-circle-check","pages":[{"title":"Traffic Shaping","icon":"circle-info","sidebarTitle":"Overview","href":"/router/traffic-shaping"},{"title":"Retry","icon":"arrow-rotate-left","href":"/router/traffic-shaping/retry"},{"title":"Timeout","icon":"clock","href":"/router/traffic-shaping/timeout"},{"title":"Circuit Breaker","icon":"plug-circle-bolt","href":"/router/traffic-shaping/circuit-breaker"}]},{"title":"Storage Providers","icon":"cabinet-filing","href":"/router/storage-providers"},{"group":"Deployment","icon":"truck-ramp-couch","pages":[{"title":"Deployment","sidebarTitle":"Overview","icon":"circle-info","href":"/router/deployment"},{"title":"Config Hot Reload","icon":"arrows-rotate","href":"/router/deployment/config-hot-reload"}]},{"group":"Security","icon":"shield-quartered","pages":[{"title":"Security","sidebarTitle":"Overview","icon":"circle-info","href":"/router/security"},{"title":"TLS","icon":"shield-halved","href":"/router/security/tls"},{"title":"Config Validation \u0026 Signing","icon":"signature","href":"/router/security/config-validation-and-signing"},{"title":"Hardening Guide","icon":"book","href":"/router/security/hardening-guide"},{"title":"Cost Control","icon":"scale-balanced","href":"/router/security/cost-control"},{"title":"Validate Inline Arguments","icon":"shield-halved","href":"/router/security/validate-inline-arguments"}]},{"group":"Development","icon":"flask-round-potion","pages":[{"title":"Development","icon":"circle-info","sidebarTitle":"Overview","href":"/router/development"},{"title":"Debugging","icon":"bug","href":"/router/development/debugging"},{"title":"Development Mode","icon":"code","href":"/router/development/development-mode"}]},{"title":"Response Cache (Experimental)","icon":"boxes-stacked","href":"/router/response-cache"},{"title":"Request Deduplication","icon":"clone","href":"/router/request-deduplication"},{"title":"Performance Debugging","icon":"gauge-high","href":"/router/performance-debugging"},{"title":"Advanced Request Tracing (ART)","icon":"stars","href":"/router/advanced-request-tracing-art"},{"group":"Query Plan","icon":"file-contract","pages":[{"title":"Query Plan","icon":"circle-info","sidebarTitle":"Overview","href":"/router/query-plan"},{"title":"Batch Generate Query Plans","icon":"layer-group","href":"/router/query-plan/batch-generate-query-plans"}]},{"group":"Cosmo Streams (EDFS)","icon":"wave","pages":[{"title":"Cosmo Streams (EDFS)","icon":"circle-info","sidebarTitle":"Overview","href":"/router/cosmo-streams"},{"group":"NATS","icon":"puzzle-piece","pages":[{"title":"NATS","sidebarTitle":"Overview","icon":"circle-info","href":"/router/cosmo-streams/nats"},{"title":"Stream And Consumer Configuration","icon":"wave","href":"/router/cosmo-streams/nats/stream-and-consumer-configuration"}]},{"title":"Kafka","icon":"sitemap","href":"/router/cosmo-streams/kafka"},{"title":"Redis","icon":"sitemap","href":"/router/cosmo-streams/redis"},{"group":"Custom Modules","icon":"cubes","pages":[{"title":"Custom Modules","sidebarTitle":"Overview","icon":"circle-info","href":"/router/cosmo-streams/custom-modules"},{"title":"SubscriptionOnCreate Handler","icon":"circle-plus","href":"/router/cosmo-streams/custom-modules/subscription-on-create"},{"title":"SubscriptionOnStart Handler","icon":"circle-play","href":"/router/cosmo-streams/custom-modules/subscription-on-start"},{"title":"BeforeEventsDispatch Handler","icon":"split","href":"/router/cosmo-streams/custom-modules/before-events-dispatch"},{"title":"OnReceiveEvents Handler","icon":"arrow-left","href":"/router/cosmo-streams/custom-modules/on-receive-event"},{"title":"OnPublishEvents Handler","icon":"arrow-right","href":"/router/cosmo-streams/custom-modules/on-publish-event"}]}]},{"title":"Compliance and Data Management","icon":"cloud-binary","href":"/router/compliance-and-data-management"},{"title":"Query Batching","icon":"layer-group","sidebarTitle":"Query Batching","href":"/router/query-batching"},{"title":"Feature Flags","icon":"flag","sidebarTitle":"Feature Flags","href":"/router/feature-flags"},{"group":"Subgraph data propagation","icon":"share-from-square","pages":[{"title":"Subgraph Error Propagation","icon":"bug","href":"/router/subgraph-data-propagation/subgraph-error-propagation"},{"title":"Subgraph Extension Propagation","icon":"puzzle-piece","href":"/router/subgraph-data-propagation/subgraph-extension-propagation"}]},{"title":"Relaxed Field Selection Merging Nullability","icon":"merge","href":"/router/relaxed-field-selection-merging-nullability"},{"title":"String Literals for Enums","icon":"quotes","href":"/router/string-literals-for-enums"},{"title":"File Upload","icon":"upload","href":"/router/file-upload"},{"title":"Access Logs","icon":"camera-cctv","href":"/router/access-logs"},{"title":"Profiling","icon":"binoculars","href":"/router/profiling"},{"title":"Upgrading The Router","icon":"arrows-rotate","href":"/router/upgrading-the-router"}]},{"group":"Studio","pages":[{"title":"Cosmo Studio","icon":"door-open","href":"/studio/intro"},{"title":"Overview Page","icon":"map","href":"/studio/overview-page"},{"title":"Schema Explorer","icon":"file-lines","href":"/studio/schema-explorer"},{"title":"Schema Registry","icon":"atom","href":"/studio/schema-registry"},{"title":"Schema Checks","icon":"list-check","href":"/studio/schema-checks"},{"group":"Check Extensions","icon":"puzzle-piece-simple","pages":[{"title":"Subgraph Check Extensions","sidebarTitle":"Overview","icon":"puzzle-piece-simple","href":"/studio/subgraph-check-extensions"},{"title":"Request Payload Structure","sidebarTitle":"Request Payload","icon":"share","href":"/studio/sce/request-payload-structure"},{"title":"Response Payload Structure","sidebarTitle":"Response Payload","icon":"reply","href":"/studio/sce/response-structure"},{"title":"File Structure","sidebarTitle":"File Structure","icon":"file-export","href":"/studio/sce/file-content"},{"title":"Handler example","sidebarTitle":"Handler example","icon":"puzzle-piece-simple","href":"/studio/sce/handler-example"}]},{"title":"Schema Contracts","icon":"file-contract","href":"/studio/schema-contracts"},{"title":"Overrides","icon":"overline","href":"/studio/overrides"},{"title":"Changelog","icon":"file-plus-minus","href":"/studio/changelog"},{"group":"Playground++","icon":"rectangle-code","pages":[{"title":"Playground++","icon":"circle-info","sidebarTitle":"Overview","href":"/studio/playground"},{"title":"Collections","icon":"folder-open","href":"/studio/playground/collections"},{"title":"Custom Scripts","icon":"code","href":"/studio/playground/custom-scripts"},{"title":"Sharing Playground Sessions","icon":"share-nodes","href":"/studio/playground/shared-playground-state"},{"title":"Default Headers","icon":"sliders","href":"/studio/playground/default-headers"}]},{"title":"Graph Documentation","icon":"readme","href":"/studio/studio"},{"title":"Compositions","icon":"books","href":"/studio/compositions"},{"group":"Analytics","icon":"chart-line","pages":[{"title":"Analytics","icon":"circle-info","sidebarTitle":"Overview","href":"/studio/analytics"},{"title":"Metrics","icon":"gauge-high","href":"/studio/analytics/metrics"},{"title":"Traces","icon":"route","href":"/studio/analytics/traces"},{"title":"Distributed Tracing","icon":"network-wired","href":"/studio/analytics/distributed-tracing"},{"title":"Schema Field Usage","icon":"chart-column","href":"/studio/analytics/schema-field-usage"},{"title":"Client Identification","icon":"user-group","href":"/studio/analytics/client-identification"}]},{"title":"Operations","icon":"chart-line","href":"/studio/operations"},{"group":"API Keys","icon":"key","pages":[{"title":"API Keys","icon":"circle-info","sidebarTitle":"Overview","href":"/studio/api-keys"},{"title":"API Key Permissions","icon":"shield-halved","href":"/studio/api-keys/api-key-permissions"},{"title":"API Key Resources","icon":"database","href":"/studio/api-keys/api-key-resources"}]},{"title":"Migrate from Apollo","icon":"swap-arrows","href":"/studio/migrate-from-apollo"},{"group":"Alerts and notifications","icon":"alarm-snooze","pages":[{"title":"Alerts And Notifications","icon":"circle-info","sidebarTitle":"Overview","href":"/studio/alerts-and-notifications"},{"title":"Webhooks","icon":"webhook","href":"/studio/alerts-and-notifications/webhooks"},{"title":"Slack Integration","icon":"slack","href":"/studio/alerts-and-notifications/slack-integration"}]},{"title":"Graph Access Control","icon":"user-secret","href":"/studio/graph-access-control"},{"title":"Cluster Management","icon":"layer-group","href":"/studio/cluster-management"},{"title":"Sessions","icon":"shield-plus","sidebarTitle":"Sessions","href":"/studio/sessions"},{"title":"RBAC","icon":"user-tie","href":"/studio/rbac"},{"group":"Groups","icon":"users-rectangle","pages":[{"title":"Groups","icon":"circle-info","sidebarTitle":"Overview","href":"/studio/groups"},{"title":"Group Rules","icon":"database","href":"/studio/groups/group-rules"}]},{"group":"SSO","icon":"building-lock","pages":[{"title":"SSO","icon":"circle-info","sidebarTitle":"Overview","href":"/studio/sso"},{"title":"Okta","icon":"user-shield","href":"/studio/sso/okta"},{"title":"Auth0","icon":"user-lock","href":"/studio/sso/auth0"},{"title":"Keycloak","description":"Setting up SSO with Keycloak","icon":"key","href":"/studio/sso/keycloak"},{"title":"Microsoft Entra","icon":"microsoft","href":"/studio/sso/microsoft-entra"}]},{"title":"Namespace Login Methods","description":"Restrict which login methods can access each namespace, so that different environments are reachable only through the identity providers you choose.","icon":"lock-keyhole","href":"/studio/namespace-login-methods"},{"title":"Organization Login Methods","icon":"lock-keyhole","href":"/studio/organization-login-methods"},{"group":"SCIM","icon":"file-user","pages":[{"title":"SCIM","sidebarTitle":"Overview","icon":"circle-info","href":"/studio/scim"},{"title":"Okta","icon":"user-shield","href":"/studio/scim/okta"},{"title":"Okta (OIN version)","icon":"shield-check","href":"/studio/scim/okta-oin-version"}]},{"title":"Audit Log","icon":"people-roof","href":"/studio/audit-log"},{"title":"Cosmo AI","icon":"brain-circuit","href":"/studio/cosmo-ai"},{"group":"Policies","icon":"user-police-tie","pages":[{"title":"Policies","icon":"circle-info","sidebarTitle":"Overview","href":"/studio/policies"},{"title":"Linter Rules","icon":"code","href":"/studio/lint-policy/linter-rules"}]},{"title":"Graph Pruning","icon":"broom-wide","href":"/studio/graph-pruning"},{"title":"Invitations","icon":"envelopes-bulk","href":"/studio/invitations"}]},{"group":"Control Plane","pages":[{"title":"Cosmo Control Plane","icon":"door-open","href":"/control-plane/intro"},{"title":"Configuration","icon":"sliders-up","href":"/control-plane/configuration"},{"title":"Webhooks","icon":"webhook","href":"/control-plane/webhooks"}]},{"group":"GraphQL / Federation","pages":[{"title":"Federation Compatibility Matrix","icon":"person-rifle","href":"/federation/federation-compatibility-matrix"},{"group":"Directives","icon":"sign-post","pages":[{"title":"Directives Reference","icon":"list-check","href":"/federation/federation-directives-index"},{"title":"@authenticated","icon":"lock","href":"/federation/directives/authenticated"},{"title":"@composeDirective","icon":"pen-nib","href":"/federation/directives/composeddirective"},{"title":"@connect__fieldResolver","icon":"function","href":"/federation/directives/connect__fieldresolver"},{"title":"@defer","icon":"forward-step","href":"/federation/directives/defer"},{"title":"@deprecated","icon":"triangle-exclamation","href":"/federation/directives/deprecated"},{"title":"@external","icon":"arrow-right-from-bracket","href":"/federation/directives/external"},{"title":"@key","icon":"fingerprint","href":"/federation/directives/key"},{"title":"@link","icon":"link","href":"/federation/directives/link"},{"title":"@openfed configureDescription","icon":"pen-to-square","href":"/federation/directives/openfed__configuredescription"},{"title":"@openfed requireFetchReasons","icon":"magnifying-glass-chart","href":"/federation/directives/openfed__requirefetchreasons"},{"title":"@openfed subscriptionFilter","icon":"filter","href":"/federation/directives/openfed__subscriptionfilter"},{"title":"@provides","icon":"hand-holding","href":"/federation/directives/provides"},{"title":"@requires","icon":"link","href":"/federation/directives/requires"},{"title":"@shareable","icon":"share-nodes","href":"/federation/directives/shareable"},{"title":"@specifiedBy","icon":"link","href":"/federation/directives/specifiedby"},{"title":"@requiresScopes","icon":"key","href":"/federation/directives/requiresscopes"}]},{"group":"Event-Driven Federated Subscriptions","icon":"conveyor-belt-boxes","pages":[{"title":"Event-Driven Federated Subscriptions","sidebarTitle":"Overview","icon":"circle-info","href":"/federation/event-driven-federated-subscriptions"},{"title":"NATS","icon":"puzzle-piece","href":"/federation/event-driven-federated-subscriptions/nats"},{"title":"Kafka","icon":"sitemap","href":"/federation/event-driven-federated-subscriptions/kafka"},{"title":"Redis","icon":"sitemap","href":"/federation/event-driven-federated-subscriptions/redis"},{"title":"Composition Rules","icon":"network-wired","href":"/federation/event-driven-federated-subscriptions/composition-rules"}]},{"title":"Composition Errors","icon":"triangle-exclamation","sidebarTitle":"Composition errors","href":"/federation/composition-errors"}]},{"group":"Deployments and Hosting","pages":[{"title":"Cosmo","icon":"door-open","href":"/deployments-and-hosting/intro"},{"group":"Kubernetes","icon":"layer-group","pages":[{"title":"Kubernetes","sidebarTitle":"Overview","icon":"circle-info","href":"/deployments-and-hosting/kubernetes"},{"group":"Helm Chart","icon":"chart-line","pages":[{"title":"Helm Chart","sidebarTitle":"Overview","icon":"circle-info","href":"/deployments-and-hosting/kubernetes/helm-chart"},{"title":"Cosmo Platform","icon":"dharmachakra","href":"/deployments-and-hosting/kubernetes/helm-chart/cosmo-platform"},{"title":"Router","icon":"router","href":"/deployments-and-hosting/kubernetes/helm-chart/router"}]}]},{"group":"Terraform","icon":"road-bridge","pages":[{"title":"Terraform","icon":"circle-info","sidebarTitle":"Overview","href":"/deployments-and-hosting/terraform"},{"title":"AWS Fargate","icon":"aws","href":"/deployments-and-hosting/terraform/aws-fargate"}]},{"title":"Docker","icon":"docker","href":"/deployments-and-hosting/docker"},{"title":"Release Management","icon":"memo-circle-check","href":"/deployments-and-hosting/release-management"},{"title":"Cosmo Cloud","icon":"cloud","href":"/deployments-and-hosting/cosmo-cloud"}]}]},{"tab":"CLI","icon":"terminal","pages":[{"title":"CLI","href":"/cli/intro"}]},{"tab":"Tutorials","icon":"newspaper","pages":[{"title":"Tutorials","href":"/tutorial"}]}]},"basePath":"","title":"Microsoft Entra - WunderGraph","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["10e4515597","07c022d89b","a74be98ba7"],"chunks":["BannerMarkdown-DIeMibn4.js","dist-DJnKvr0g.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-B2v50t8t.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","Frame-PS-3COT9.js","DynamicMarkdown-BcnBltEQ.js","zoom-image-lightbox-B4-wUcHm.js","lightbox-handle-r17bVUz3.js"]}