Skip to content

Remove OAuth1 Add OAuth2 #144

Merged
simonredfern merged 47 commits intoOpenBankProject:developfrom
simonredfern:develop
Jan 15, 2026
Merged

Remove OAuth1 Add OAuth2 #144
simonredfern merged 47 commits intoOpenBankProject:developfrom
simonredfern:develop

Conversation

@simonredfern
Copy link
Copy Markdown
Member

Support multiple OIDC providers

simonredfern and others added 30 commits December 17, 2025 23:53
- 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
@simonredfern simonredfern merged commit 1c41a81 into OpenBankProject:develop Jan 15, 2026
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