Translation freshness notice: this older translation has not been fully reviewed against the current owner authorization and installation model. Follow the canonical English oauth and upgrade guide for current, secure instructions.
MCP OAuth
JamRelay besitzt zwei unabhängige Autorisierungsebenen: AI-Client → JamRelay und JamRelay → Spotify. MCP OAuth ersetzt Spotify OAuth nicht.
Unterstützte Funktionen
- Authorization Code;
- verpflichtendes PKCE
S256; - exakte Redirect-URI-Prüfung pro Client;
- RFC 9207
iss; - RFC 9728 Protected-Resource-Metadaten für Root und
/mcp; - Access Tokens für eine Stunde;
- rotierende Refresh Tokens;
- Public Clients mit
token_endpoint_auth_method=none; - Confidential Clients mit
client_secret_basicoderclient_secret_post; - statische Multi-Client-Registry;
- RFC 7591 DCR zur Kompatibilität mit ausgelieferten Clients;
- Owner Approval über
MCP_OAUTH_OWNER_SECRET.
Automatische Clients
PUBLIC_BASE_URL=https://mcp.example.com
MCP_OAUTH_OWNER_SECRET=<STRONG_RANDOM_SECRET>
MCP_OAUTH_DCR_ENABLED=trueDiscovery verwendet /.well-known/oauth-protected-resource, /.well-known/oauth-protected-resource/mcp, /.well-known/oauth-authorization-server, /oauth/register, /oauth/authorize und /oauth/token.
Bestehendes ChatGPT-Setup
MCP_OAUTH_CLIENT_ID=chatgpt-jamrelay
MCP_OAUTH_CLIENT_SECRET=<STRONG_RANDOM_SECRET>
MCP_OAUTH_REDIRECT_URI=<EXACT_CALLBACK_FROM_CHATGPT>
MCP_OAUTH_OWNER_SECRET=<OWNER_APPROVAL_SECRET>Dieser Client kann gleichzeitig mit DCR und der statischen Multi-Client-Registry verwendet werden.
Mehrere statische Clients
Setze MCP_OAUTH_CLIENTS_PATH und beginne mit examples/mcp-oauth-clients.example.json. Ein Client kann mehrere redirectUris besitzen; Public Clients können tokenEndpointAuthMethods: ["none"] verwenden.
DCR-Sicherheit
POST /oauth/register ist protokollbedingt nicht authentifiziert, aber eine Registrierung gewährt keinen Spotify-Zugriff. Erst Owner Approval erlaubt die Ausgabe eines Authorization Codes. JamRelay begrenzt und bereinigt dynamische Registrierungen, erzwingt S256, prüft Redirects und speichert dynamische Secrets gehasht.
DCR kann mit MCP_OAUTH_DCR_ENABLED=false deaktiviert werden. Native Clients dürfen Loopback-HTTP-Callbacks registrieren.
Persistenter Store
Lokal: ./data/mcp-oauth.json; Docker Production: /data/mcp-oauth.json.
CIMD
MCP 2026-07-28 bevorzugt Client ID Metadata Documents und deprecates DCR langfristig. JamRelay v1.0.0 bewirbt CIMD bewusst nicht, da dafür client-gesteuerte Metadaten sicher geladen und SSRF/DNS-Rebinding abgewehrt werden müssten.