Skip to content

Commit f3a60c1

Browse files
committed
docfix: Mention Hydra.
1 parent ff78ab2 commit f3a60c1

File tree

1 file changed

+124
-10
lines changed

1 file changed

+124
-10
lines changed

obp-api/src/main/resources/docs/introductory_system_documentation.md

Lines changed: 124 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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)
3233
4. [Standards Compliance](#standards-compliance)
3334
5. [Installation and Configuration](#installation-and-configuration)
3435
6. [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

Comments
 (0)