Feat. Add Personal Microsoft Accounts Ingestion#314
Open
sorglos123 wants to merge 30 commits into
Open
Conversation
- Implemented OAuth2 + PKCE flow for Outlook Personal in the ingestion controller. - Added routes for authorization and callback handling for Outlook Personal. - Updated application configuration to include Outlook Personal client credentials. - Extended ingestion sources schema to support Outlook Personal as a provider. - Created OutlookPersonalConnector to handle email fetching and token management. - Enhanced EmailProviderFactory to instantiate OutlookPersonalConnector. - Updated IngestionService to manage Outlook Personal authentication and token exchange. - Modified frontend components to support Outlook Personal OAuth flow, including form handling and callback processing. - Added new types for Outlook Personal credentials and sync state management.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Merging will do comments in a new branch
…m addresses in MicrosoftConnector
Co-authored-by: sorglos123 <56429664+sorglos123@users.noreply.github.com>
…oauth session keys Co-authored-by: sorglos123 <56429664+sorglos123@users.noreply.github.com>
…sages Co-authored-by: sorglos123 <56429664+sorglos123@users.noreply.github.com>
…uth state Co-authored-by: sorglos123 <56429664+sorglos123@users.noreply.github.com>
Co-authored-by: sorglos123 <56429664+sorglos123@users.noreply.github.com>
…Connector Co-authored-by: sorglos123 <56429664+sorglos123@users.noreply.github.com>
…18n deletion_disabled Co-authored-by: sorglos123 <56429664+sorglos123@users.noreply.github.com>
…and-docs fix: PR validation — sync PKCE helper, named Lua constant, complete i18n deletion_disabled
…lta tokens are preserved
Housekeeping
…ype if not exists
- Implemented OAuth state management for Outlook Personal using Redis. - Added new ingestion provider type for Outlook Personal in the database schema. - Created OutlookPersonalConnector to handle email fetching and token management. - Updated IngestionService to initiate and complete Outlook Personal OAuth flow. - Enhanced EmailProviderFactory to support Outlook Personal connector. - Modified frontend components to handle Outlook Personal authentication. - Added OAuth callback page to process authorization code and state. - Updated API client to manage access tokens from cookies. - Improved error handling and user feedback during OAuth flow.
…ose overrides to .gitignore
|
I have read the CLA Document and I hereby sign the CLA 1 out of 2 committers have signed the CLA. |
Author
|
I have read the CLA Document and I hereby sign the CLA |
Author
|
Recheck |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces support for Outlook Personal (personal Microsoft accounts) as a new email provider, improves local development workflows, and updates documentation and environment configuration to reflect these enhancements. The most important changes are grouped below:
Outlook Personal Provider Integration
IngestionControllerfor Outlook Personal authorization and callback, enabling secure connection and ingestion for personal Microsoft accounts.docs/user-guides/email-providers/outlook-personal.md.README.mdand documentation navigation to reference Outlook Personal as a supported provider and provide links to setup guides. [1] [2] [3] [4]Local Development Improvements
docker-compose.dev.ymlfor running dependency services (Postgres, Valkey, Meilisearch, Tika) during local development, and improved.env.examplewith bind host and allowed hosts configuration. [1] [2].dockerignoreto ignore build, cache, coverage, docs, and asset files for cleaner Docker builds.Environment and Configuration Updates
OUTLOOK_PERSONAL_CLIENT_ID,OUTLOOK_PERSONAL_CLIENT_SECRET,OUTLOOK_PERSONAL_REDIRECT_URI) to.env.examplefor easier configuration.HOST_BACKENDenvironment variable for improved flexibility in local and production setups.Dependency Updates
ioredisas a dependency inpackages/backend/package.json,Primary use: OAuth state storage in Redis/Valkey, via a direct import in packages/backend/src/helpers/oauthStateStore.ts.Build and Start Script Enhancements
package.jsonscripts for development, including new commands for parallel app and worker startup, and a script to stop development processes cleanly.These changes collectively enable Outlook Personal account support, streamline local development, and enhance configuration and documentation for both new and existing users.