Skip to content

feat: add Microsoft Entra External ID OAuth support#439

Open
stephanjohnson wants to merge 2 commits into
atinux:mainfrom
stephanjohnson:main
Open

feat: add Microsoft Entra External ID OAuth support#439
stephanjohnson wants to merge 2 commits into
atinux:mainfrom
stephanjohnson:main

Conversation

@stephanjohnson

Copy link
Copy Markdown

This pull request adds support for Microsoft Entra External ID (CIAM) as a new OAuth provider. The main changes include updating configuration files, extending the provider list, implementing the Entra External OAuth handler, and integrating the provider into the playground app.

Microsoft Entra External ID (CIAM) Integration:

  • Added new environment variables for Entra External ID configuration in .env.example to support client ID, tenant, and redirect URL.
  • Extended the runtime OAuth configuration in src/module.ts to include Entra External ID settings such as clientId, tenant, tenantId, scope, and endpoint URLs.
  • Implemented the Entra External OAuth handler in src/runtime/server/lib/oauth/entraexternal.ts, supporting OIDC code flow with PKCE, endpoint construction, state validation, and user info retrieval.
  • Added a new route handler for Entra External authentication in playground/server/routes/auth/entraexternal.get.ts, which sets the user session and redirects on success.
  • Updated the OAuth provider list in src/runtime/types/oauth-config.ts to include 'entraexternal' as a valid provider type.

Playground App Integration:

  • Added Entra External ID as a selectable provider in the playground app UI (playground/app.vue).

@stephanjohnson

Copy link
Copy Markdown
Author

Any feedback on what I would have to do to get this PR merged?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant