Remove OAuth1 Add OAuth2 #144
Merged
simonredfern merged 47 commits intoOpenBankProject:developfrom Jan 15, 2026
Merged
Conversation
- Add TypeScript interfaces for multi-provider OAuth2 support - Create OAuth2ClientWithConfig extending arctic OAuth2Client with OIDC discovery - Create OAuth2ProviderFactory with strategy pattern for different providers - Create OAuth2ProviderManager for managing multiple providers with health checks - Support for OBP-OIDC, Keycloak, Google, GitHub, and custom providers
- Create OAuth2ProvidersController to list available providers - Update OAuth2ConnectController to support provider parameter - Update OAuth2CallbackController to handle multi-provider callbacks - Update app.ts to initialize OAuth2ProviderManager on startup - Maintain backward compatibility with legacy single-provider mode - Add health monitoring for all providers (60s intervals)
- Fix OAuth2ClientWithConfig to properly extend arctic OAuth2Client - Rename methods to avoid base class conflicts (exchangeAuthorizationCode, refreshTokens) - Fix OAuth2ProviderManager to use OBPClientService.get() correctly - Fix iteration over Map entries to avoid downlevelIteration issues - Update OAuth2ConnectController with correct method signatures - Fix redirect URI access via getRedirectUri() method
- Document completed backend implementation - List remaining frontend and testing tasks - Include architecture diagrams and data flow - Document configuration and endpoints - Track session data structure - Note backward compatibility approach
- Fetch available providers from /api/oauth2/providers on mount - Show provider selection dialog when multiple providers available - Direct login when only one provider available - Fallback to legacy mode when no providers configured - Display provider icons and formatted names - Responsive provider selection dialog with hover effects - Maintain backward compatibility with single-provider mode
- Step-by-step testing scenarios - Prerequisites and setup instructions - Expected outputs and pass criteria - Troubleshooting section - Performance and security testing guidelines - Test report template - 15 detailed test scenarios covering all functionality
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.
Support multiple OIDC providers