Commit Graph

540 Commits

Author SHA1 Message Date
karmaking
0d15f13680 fix docker backend build 2025-12-17 23:10:05 +01:00
karmaking
8bdfe68db4 Merge branch 'oauth2' of https://github.com/OpenBankProject/API-Explorer-II into oauth2 2025-12-17 19:00:00 +01:00
karmaking
cc888e4660 fix backend docker build 2025-12-17 18:52:34 +01:00
simonredfern
519109b17f fixing pre scala-language code blocks 2025-12-16 19:17:34 +01:00
simonredfern
e6890fc551 sorted keys 2025-12-15 14:05:31 +01:00
simonredfern
0b4825fc7c OIDC checking / retrying 2 2025-12-14 11:15:35 +01:00
simonredfern
cd9ba264ec OIDC checking / retrying 2025-12-14 11:04:14 +01:00
simonredfern
ca923f7b5a commitID 2025-12-12 10:32:14 +01:00
simonredfern
37c2688fb5 ES modules 2025-12-11 20:44:07 +01:00
simonredfern
cf5412173b scanned api versions uses is_active 2025-12-11 20:07:07 +01:00
simonredfern
53bef156f9 using v6.0.0 of scanned apis fix 2025-12-11 19:27:15 +01:00
simonredfern
c870628ad3 using v6.0.0 of scanned apis 2025-12-11 19:22:59 +01:00
simonredfern
23a1615dcb trying compiler options CommonJS 2025-12-11 16:04:35 +01:00
simonredfern
d7638b1d70 moved shared-constants.ts to src 2025-12-11 14:03:21 +01:00
simonredfern
9b14179d33 for docker 2025-12-10 13:35:56 +01:00
simonredfern
6d3c2a4806 tags 2025-12-09 11:09:10 +01:00
simonredfern
028a1d7c1d Tags 2025-12-08 23:13:49 +01:00
simonredfern
e2558a4558 Highlight selected tag 2025-12-08 23:09:34 +01:00
simonredfern
3dbc9f7426 All link 2025-12-08 22:59:17 +01:00
simonredfern
7b4136f26d show tags on version select 2025-12-08 22:40:11 +01:00
simonredfern
ad9a15cecd remove right panel if no operationid selected 2025-12-08 21:55:41 +01:00
simonredfern
24ca25caff Split dropdown of versions 2025-12-08 19:39:19 +01:00
simonredfern
1a8dfb3975 Svelte drop downs for Version and Message Docs 2025-12-08 19:25:01 +01:00
simonredfern
046ba2d96d when change version show endpoint count instead of first endpoint 2025-12-08 17:44:56 +01:00
simonredfern
6a83e547a4 changing version from more 2025-12-08 17:21:07 +01:00
simonredfern
85de00bdfe footnote operationId 2025-12-08 17:14:00 +01:00
simonredfern
307a6359a3 footnote 2025-12-08 16:43:50 +01:00
simonredfern
9eb7265894 showing version url in input box 2025-12-08 16:41:37 +01:00
simonredfern
5db4848b29 first endpoint 2025-12-08 16:36:23 +01:00
simonredfern
d329a02fe8 version is OBPv6.0.0 by default 2025-12-08 16:32:20 +01:00
simonredfern
63bec0dd00 changing url path structure to resource-docs 2025-12-08 16:21:10 +01:00
simonredfern
ed5de46361 Glad you're happy! 2025-12-05 12:05:17 +01:00
simonredfern
3daae4d67c tweaked package.json langchain 2025-12-05 10:23:49 +01:00
simonredfern
1cfb968268 remove double escaping 2 2025-12-03 21:56:54 +01:00
simonredfern
e87f2e6389 remove double escaping 2025-12-03 21:54:51 +01:00
simonredfern
b0d927c1e1 showing proper OBP error message instead of squashing them 2025-12-03 21:50:56 +01:00
simonredfern
6d1aac927e Add Svelte 5 and convert CodeBlock component 2025-12-02 14:39:19 +01:00
simonredfern
8277fa4532 Svelte port doc 2025-12-02 14:32:39 +01:00
simonredfern
056171388f OAuth2/OIDC 2025-12-02 14:26:19 +01:00
simonredfern
b97f39b4e1 better error with Request Entitlement and sending user_id 2025-12-02 02:08:16 +01:00
simonredfern
4a5239e5aa OAuth2 tweaks 2025-12-02 01:11:17 +01:00
simonredfern
f450946ca6 Merge branch 'develop' into oauth2 2025-12-01 12:07:12 +01:00
simonredfern
1c8c8f09b8 env_ai 2025-12-01 11:51:11 +01:00
simonredfern
3450df5d01 OAuth2 step 2 ok 2025-12-01 11:28:40 +01:00
simonredfern
dc69f9664d OAuth2 login first step works 2025-12-01 11:07:05 +01:00
simonredfern
d14fb57005 OAuth1 to OAuth2 2025-11-30 10:11:51 +01:00
simonredfern
a86f1455bb Add implementation status tracking document
- Track progress across all 6 phases
- Document completed work (Phases 1-2: 100%)
- List remaining tasks
- Provide testing checklist
- Include quick reference commands
- Timeline and achievement tracking

Current Status: 60% complete
- Backend core implementation: Complete
- Ready for testing with OBP-OIDC server
2025-11-29 19:56:19 +01:00
simonredfern
b2df3a9791 Phase 2: Integrate OAuth2 into application
Application Integration:
- Update server/app.ts to initialize OAuth2Service on startup
  * Conditional initialization based on VITE_USE_OAUTH2 flag
  * OIDC discovery document fetching
  * Comprehensive error handling and logging
  * Graceful fallback if OIDC provider unavailable

UserController Updates:
- Support dual authentication (OAuth 1.0a and OAuth2)
- OAuth2 user session detection and retrieval
- Automatic token refresh when access token expires
- Unified user data format for both auth methods
- Enhanced logout to clear both OAuth 1.0a and OAuth2 sessions
- Comprehensive logging for debugging

Features:
- Seamless switching between auth methods via feature flag
- Backward compatibility maintained
- Automatic token refresh before expiry
- Session cleanup on logout
- Error handling with fallback to empty response

Next phase: Update frontend components for OAuth2 login flow
2025-11-29 19:54:58 +01:00
simonredfern
86295f827a Phase 1: Implement OAuth2/OIDC core infrastructure
Backend Implementation:
- Add arctic and jsonwebtoken dependencies
- Create PKCEUtils for OAuth2 PKCE flow (RFC 7636)
- Create OAuth2Service for OIDC provider integration
  * OIDC discovery (.well-known/openid-configuration)
  * Authorization URL generation with PKCE
  * Token exchange (code for access/refresh/ID tokens)
  * Token refresh flow
  * UserInfo endpoint integration
- Create OAuth2AuthorizationMiddleware (initiate auth flow)
- Create OAuth2CallbackMiddleware (handle provider callback)
- Create OAuth2ConnectController (/oauth2/connect endpoint)
- Create OAuth2CallbackController (/oauth2/callback endpoint)

Configuration:
- Add OAuth2 environment variables to env_ai
- Feature flag VITE_USE_OAUTH2 for gradual migration
- Support for OBP-OIDC provider

Features:
- PKCE (Proof Key for Code Exchange) support
- State parameter for CSRF protection
- Session-based token storage
- Comprehensive error handling
- Security best practices (token expiration, flow timeout)

Note: Backend infrastructure complete. Next phase: integrate with app.ts
and update UserController for dual auth support.
2025-11-29 19:53:41 +01:00
simonredfern
ba783c0f22 Add OAuth2/OIDC integration preparation documentation
- Add OAUTH2-README.md: Overview and navigation guide
- Add OAUTH2-QUICK-START.md: 15-minute setup guide with code examples
- Add OAUTH2-OIDC-INTEGRATION-PREP.md: Complete 60-page implementation guide

Documentation covers:
- 6-phase implementation plan (6 weeks)
- Integration with OBP-OIDC provider
- Reference implementation from OBP-Portal
- Complete code examples for all components
- Testing strategy and deployment guide
- Backward compatibility with OAuth 1.0a
2025-11-29 19:48:30 +01:00