-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
feat: add Microsoft Entra ID integration #2029
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Updated .env-template and settings.py for Microsoft Entra ID configuration. - Enhanced ConnectorsCallback to support SharePoint authentication. - Introduced SharePointAuth and SharePointLoader classes. - Added required dependencies in requirements.txt.
@abfeb8 is attempting to deploy a commit to the Arc53 Team on Vercel. A member of the Team first needs to authorize it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the update, @abfeb8! I've reviewed your points and have a few thoughts on the Microsoft Graph scopes and the redirect URI.
- we can also reuse the
CONNECTOR_REDIRECT_BASE_URI: Optional[str] = ( "http://127.0.0.1:7091/api/connectors/callback" # Add this redirect URL to your provider's console (Google Cloud, Azure AD, etc.) )
, without having theMICROSOFT_REDIRECT_URI
- The use case of implementing the share_point as a connector - is to access files as an external knowledge base for which
Files.Read
would be reasonable. however the PR covers the auth flow andUser.Read
is also relevant for now
Microsoft Graph Scope | Access Level | Notes |
---|---|---|
Files.Read | Delegated | Only files user owns / has access to. Minimal for user-level download. |
Files.ReadWrite | Delegated | Also allows editing — not needed if only downloading. |
Files.Read.All | Delegated / Application | All user files in org — broader than minimal. |
Sites.Read.All | Application | Read SharePoint sites — only needed for org-wide site access. |
Sites.Selected | Application | Least privilege for selected SharePoint sites. |
https://learn.microsoft.com/en-us/graph/permissions-reference#filesreadall
…use CONNECTOR_REDIRECT_BASE_URI
Hi @ManishMadan2882,
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amazing PR, thanks @abfeb8 !
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## sharepoint #2029 +/- ##
===========================================
Coverage 35.58% 35.58%
===========================================
Files 138 138
Lines 9309 9309
===========================================
Hits 3313 3313
Misses 5996 5996 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
@abfeb8 Could you please cover the frontend updates for the OAuth flow, so that the authentication could be tested end-to-end ? |
@ManishMadan2882, I'm currently working on it, will it be ok if I raise a separate PR once complete.. |
feat: add SharePoint integration with session validation and UI components
@ManishMadan2882, implemented Fronted for auth flow. |
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Hi @abfeb8 |
Hi @ManishMadan2882, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, will be merging to the sharepoint
branch for now
What kind of change does this PR introduce?
ConnectorsCallback
to support SharePoint authentication.SharePointAuth
andSharePointLoader
classes.SharePointPicker.tsx
component for connecting to and selecting files from SharePointConnectedStateSkeleton.tsx
- loading state for connection statusFileSelectionSkeleton.tsx
- loading state for file selection interfacevalidateProviderSession
function to standardize session validation across providersGoogleDrivePicker
to use this new utility functionWhy was this change needed? (You can also link to an open issue here)