sylius-mcp-oauth — Zugriff ist delegiert, nie autonom.
Ein OAuth-2.1-Server mit dynamischer Client-Registrierung nach RFC 7591 und verpflichtendem PKCE, dazu die Metadaten nach RFC 8414 und RFC 9728. Ein Token vertritt immer einen Administrator und reicht genau so weit wie dessen Rechte. Die URLs kommen aus dem Kanal, nicht aus dem Request.
Ein Token, das niemanden vertritt, lässt sich auch nicht entziehen
Zugriff ist hier delegiert, nie autonom: Ein Token vertritt immer einen Administrator und reicht genau so weit wie dessen Rechte. Damit ist jede Frage nach Berechtigungen bereits beantwortet, ohne dass ein zweites Rechtemodell neben dem von Sylius entsteht — und der Entzug ebenfalls: Verliert der Administrator seine Rechte, verliert das Token sie im selben Moment. Ein Client mit eigener, vom Personal unabhängiger Identität wäre dagegen ein Zugang, der einen Personalwechsel überlebt, weil ihn niemand mit einem Konto verknüpft.
PKCE ist verpflichtend, nicht optional. Das folgt aus der dynamischen Client-Registrierung nach RFC 7591: Wer sich zur Laufzeit registrieren darf, ist zum Zeitpunkt des Deployments unbekannt — es gibt also keine kuratierte Liste vertrauenswürdiger Clients, auf die sich ein Ausnahmefall stützen könnte. Ein optionales PKCE wäre unter diesen Bedingungen dasselbe wie kein PKCE, weil sich der Angreifer die Option aussucht.
Die URLs in den Metadaten nach RFC 8414 und RFC 9728 kommen aus dem Kanal, nicht aus dem Request. Endet TLS am Ingress, meldet der Request den internen Host und das interne Schema — der Issuer im Dokument lautet dann auf eine Adresse, die es von außen nicht gibt. Ein Client, der den Issuer wie vorgeschrieben vergleicht, verwirft daraufhin ein einwandfreies Token. Der Fehler tritt ausschließlich hinter einem Reverse Proxy auf, also nie lokal und immer in der Produktion.
Quellcode & Doku
Composer-Paket
MIT · Sylius 2.0+ · PHP 8.2+
composer require koh/sylius-mcp-oauth
Gebaut, getestet und unter MIT veröffentlicht. Die öffentliche Distribution über Packagist wird vorbereitet (coming soon).
Teil der Familie
MIT
Dieses Paket gehört zu koh/sylius-agent-ready — siebzehn Bundles, die einen Sylius-Shop für KI-Agenten benutzbar machen. Jedes ist einzeln einsetzbar.