@@ -24,11 +24,12 @@ For more detailed information or the sources of truths, please refer to the indi
2424 - 3.4 [ Opey II (AI Agent)] ( #34-opey-ii-ai-agent )
2525 - 3.5 [ OBP-OIDC (Development Provider)] ( #35-obp-oidc-development-provider )
2626 - 3.6 [ Keycloak Integration (Production Provider)] ( #36-keycloak-integration-production-provider )
27- - 3.7 [ OBP-Hola] ( #37-obp-hola )
28- - 3.8 [ OBP-SEPA-Adapter] ( #38-obp-sepa-adapter )
29- - 3.9 [ Connectors] ( #39-connectors )
30- - 3.10 [ Adapters] ( #310-adapters )
31- - 3.11 [ Message Docs] ( #311-message-docs )
27+ - 3.7 [ Ory Hydra (Production Provider)] ( #37-ory-hydra-production-provider )
28+ - 3.8 [ OBP-Hola] ( #38-obp-hola )
29+ - 3.9 [ OBP-SEPA-Adapter] ( #39-obp-sepa-adapter )
30+ - 3.10 [ Connectors] ( #310-connectors )
31+ - 3.11 [ Adapters] ( #311-adapters )
32+ - 3.12 [ Message Docs] ( #312-message-docs )
32334 . [ Standards Compliance] ( #standards-compliance )
33345 . [ Installation and Configuration] ( #installation-and-configuration )
34356 . [ Authentication and Security] ( #authentication-and-security )
@@ -836,7 +837,120 @@ docker pull openbankproject/obp-keycloak:main-themed
836837
837838---
838839
839- ### 3.7 OBP-Hola
840+ ### 3.7 Ory Hydra (Production Provider)
841+
842+ ** Purpose:** Cloud-native OAuth2 and OpenID Connect server for production deployments
843+
844+ ** Overview:**
845+
846+ Ory Hydra is a hardened, open-source OAuth 2.0 and OpenID Connect server optimized for low-latency, high-throughput, and low resource consumption. It integrates with OBP-API to provide enterprise-grade authentication and authorization.
847+
848+ ** Key Features:**
849+
850+ - ** OAuth2 & OIDC Compliance:** Full implementation of OAuth 2.0 and OpenID Connect specifications
851+ - ** Cloud Native:** Designed for containerized deployments (Docker, Kubernetes)
852+ - ** Performance:** Low latency and high throughput
853+ - ** Separation of Concerns:** Hydra handles OAuth/OIDC flow; identity management delegated to custom Identity Provider
854+ - ** Security Hardened:** Regular security audits and compliance certifications
855+ - ** Storage Backend:** PostgreSQL, MySQL, CockroachDB support
856+
857+ ** Architecture:**
858+
859+ ```
860+ Client → Hydra (OAuth2 Server) → OBP Hydra Identity Provider → OBP-API
861+ ↓
862+ Database (PostgreSQL)
863+ ```
864+
865+ ** Components:**
866+
867+ - ** Ory Hydra:** OAuth2/OIDC server
868+ - ** OBP Hydra Identity Provider:** Custom login/consent UI and user management
869+ - ** OBP-API:** Banking API with Hydra integration
870+
871+ ** OBP-API Configuration:**
872+
873+ ``` properties
874+ # Enable Hydra login
875+ login_with_hydra =true
876+
877+ # Hydra server URLs
878+ hydra_public_url =http://127.0.0.1:4444
879+ hydra_admin_url =http://127.0.0.1:4445
880+
881+ # Consent scopes
882+ hydra_consents =ReadAccountsBasic,ReadAccountsDetail,ReadBalances,ReadTransactionsBasic,ReadTransactionsDebits,ReadTransactionsDetail
883+
884+ # JWKS validation
885+ oauth2.jwk_set.url =http://127.0.0.1:4444/.well-known/jwks.json
886+
887+ # Mirror consumers to Hydra clients
888+ mirror_consumer_in_hydra =true
889+ ```
890+
891+ ** Hydra Identity Provider Configuration:**
892+
893+ ``` properties
894+ # Server port
895+ server.port =8086
896+
897+ # OBP-API URL
898+ obp.base_url =http://localhost:8080
899+ endpoint.path.prefix =${obp.base_url}/obp/v4.0.0
900+
901+ # Hydra admin URL
902+ oauth2.admin_url =http://127.0.0.1:4445
903+
904+ # Service account credentials
905+ identity_provider.user.username =serviceuser
906+ identity_provider.user.password =password
907+ consumer_key =your-consumer-key
908+
909+ # mTLS configuration (optional)
910+ mtls.keyStore.path =file:///path/to/keystore.jks
911+ mtls.keyStore.password =keystore-password
912+ mtls.trustStore.path =file:///path/to/truststore.jks
913+ mtls.trustStore.password =truststore-password
914+ ```
915+
916+ ** Docker Deployment:**
917+
918+ ``` bash
919+ # Start Hydra with docker-compose
920+ docker-compose -f quickstart.yml \
921+ -f quickstart-postgres.yml \
922+ up --build
923+
924+ # Verify Hydra is running
925+ curl http://127.0.0.1:4444/.well-known/openid-configuration
926+ ```
927+
928+ ** Hydra quickstart.yml environment:**
929+
930+ ``` yaml
931+ environment :
932+ - URLS_CONSENT=http://localhost:8086/consent
933+ - URLS_LOGIN=http://localhost:8086/login
934+ - URLS_LOGOUT=http://localhost:8086/logout
935+ ` ` `
936+
937+ **Use Cases:**
938+
939+ - High-performance OAuth2/OIDC deployments
940+ - Microservices architectures requiring centralized authentication
941+ - Multi-tenant banking platforms
942+ - Open Banking TPP integrations
943+ - Cloud-native banking solutions
944+
945+ **Repositories:**
946+
947+ - Ory Hydra: https://github.com/ory/hydra
948+ - OBP Hydra Identity Provider: https://github.com/OpenBankProject/OBP-Hydra-Identity-Provider
949+ - Demo OAuth2 Client: https://github.com/OpenBankProject/OBP-Hydra-OAuth2
950+
951+ ---
952+
953+ ### 3.8 OBP-Hola
840954
841955**Purpose:** Reference implementation for OAuth2 authentication and consent flow testing
842956
@@ -918,7 +1032,7 @@ docker run -p 8087:8087 \
9181032
9191033---
9201034
921- ### 3.8 OBP-SEPA-Adapter
1035+ ### 3.9 OBP-SEPA-Adapter
9221036
9231037** Purpose:** Reference implementation for SEPA payment processing with OBP-API
9241038
@@ -1076,7 +1190,7 @@ sbt "runMain sepa.scheduler.ProcessIncomingFilesActorSystem"
10761190
10771191---
10781192
1079- ### 3.9 Connectors
1193+ ### 3.10 Connectors
10801194
10811195** Purpose:** Connectors provide the integration layer between OBP-API and backend banking systems or data sources.
10821196
@@ -1137,7 +1251,7 @@ sbt "runMain sepa.scheduler.ProcessIncomingFilesActorSystem"
11371251
11381252---
11391253
1140- ### 3.10 Adapters
1254+ ### 3.11 Adapters
11411255
11421256** Purpose:** Adapters are backend services that receive messages from OBP-API connectors and respond according to Message Doc definitions.
11431257
@@ -1176,7 +1290,7 @@ Adapters listen to message queues or remote calls, parse incoming messages accor
11761290
11771291---
11781292
1179- ### 3.11 Message Docs
1293+ ### 3.12 Message Docs
11801294
11811295** Purpose:** Message Docs define the structure and schema of messages exchanged between OBP-API connectors and backend adapters.
11821296
0 commit comments