# Ory Hydra v2.3 — OAuth2-AS für den SAP-MCP-Stack (C#-Portierung). # URLs/DSN/Secrets kommen aus dem Environment (compose): # DSN, SECRETS_SYSTEM, URLS_SELF_ISSUER, URLS_LOGIN, URLS_CONSENT serve: cookies: same_site_mode: Lax tls: # TLS terminiert der zentrale Reverse Proxy (kas-proxy/Caddy); interne Netze # dürfen X-Forwarded-Proto setzen. allow_termination_from: - 10.0.0.0/8 - 172.16.0.0/12 - 192.168.0.0/16 public: cors: # claude.ai macht Discovery/DCR/Token-Calls teils aus dem Browser — # ohne CORS meldet der Connector "Client-Registrierung nicht unterstützt". enabled: true allowed_origins: - https://claude.ai - https://claude.com - https://chatgpt.com - https://chat.openai.com allowed_methods: - GET - POST - OPTIONS allowed_headers: - Authorization - Content-Type exposed_headers: - Content-Type strategies: access_token: jwt oidc: dynamic_client_registration: # Self-Service-Onboarding: MCP-Clients registrieren sich anonym # über POST /oauth2/register (RFC 7591). enabled: true # Clients, die bei der Registrierung KEINE Scopes angeben (z. B. ChatGPT), # bekommen diese Defaults — sonst scheitert ihr Authorize-Request mit # invalid_scope. ChatGPT fordert zusätzlich OIDC-Scopes (openid/profile/ # email) an; die geben wir frei, auch wenn wir keine Profil-Claims führen. default_scope: - mcp - offline_access - openid - profile - email oauth2: pkce: enforced_for_public_clients: true ttl: access_token: 1h refresh_token: 720h log: level: info leak_sensitive_values: false