Add generic OIDC authentication flow #6783
Open
+178
−6
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.
What type of PR is this?
Description
Generic OIDC login
Note: Seeking feedback
Problem
Currently, Redash is limited to supporting authentication via Google's OIDC. Expanding the authentication support to a generic OIDC flow increases Redash's accessibility and flexibility, making it a more inclusive tool for diverse environments.
Implementation Steps
To fully implement and integrate the generic OIDC authentication flow into Redash, the following steps need to be taken (Open for feedback):
Make OIDC Discovery Endpoint Configurable: This flexibility allows Redash to dynamically adapt to different IdPs by simply modifying configuration parameters.
Implement Routes for OIDC Authentication: Develop new routes within the application to handle the authentication process via OIDC.
Modify Login Templates: Update the UI components, specifically the login page templates, to include an OIDC login button.
Manual Testing with Multiple OIDC IdPs: To ensure compatibility and robustness, manually test the new authentication flow with multiple OIDC IdPs, including but not limited to Google, AWS, Okta, and Auth0. (Tested with Google and AWS Cognito)
Implement Unit Tests
Write Documentation for OIDC Configuration: Create detailed documentation to assist users in configuring OIDC with Redash. This documentation should cover configuration steps for different IdPs.
Mutate OIDC to include domain check: (not sure about this one) Current Google OIDC flow has domain verification, see if this can be made generic.
Replace Google OIDC with generic one
How is this tested?
For testing manually, following steps should be more are less common among different IdPs.
Related Tickets & Documents
#6781
Mobile & Desktop Screenshots/Recordings (if there are UI changes)