You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Server][Auth] SEP-2207: Audit PRM to ensure offline_access is not advertised as a required scope #364
MCP servers (as resource servers) SHOULD NOT advertise/require offline_access in their PRM (Protected Resource Metadata) responses — it's an AS concern, not RS.
PHP SDK changes
Audit PRM emission in src/Server/Transport/Http/OAuth/ to ensure offline_access is NOT included in the server's scopes_supported or required-scope advertisements.
Likely a small check/lint plus a unit test guarding against regression.
I can take this. I traced both emission paths: ProtectedResourceMetadata currently preserves offline_access in PRM, while AuthorizationMiddleware can add it to WWW-Authenticate from either explicit result scopes or the PRM fallback.
My plan is to filter the exact offline_access scope before both responses are emitted and add regression coverage for mixed and offline_access-only lists, including the 403 path. I prefer filtering over rejecting the configuration because SEP-2207 uses SHOULD NOT and this keeps existing deployments running. Please let me know if you would rather make it a configuration error.
Confirmed via #440. ProtectedResourceMetadata::$scopesSupported is entirely operator-supplied; nothing in the SDK ever advertises offline_access, pinned by a regression test.
Activity
wWzZb commentedon Aug 14, 2026
I can take this. I traced both emission paths:
ProtectedResourceMetadatacurrently preservesoffline_accessin PRM, whileAuthorizationMiddlewarecan add it toWWW-Authenticatefrom either explicit result scopes or the PRM fallback.My plan is to filter the exact
offline_accessscope before both responses are emitted and add regression coverage for mixed andoffline_access-only lists, including the 403 path. I prefer filtering over rejecting the configuration because SEP-2207 uses SHOULD NOT and this keeps existing deployments running. Please let me know if you would rather make it a configuration error.chr-hertel commentedon Aug 19, 2026
Confirmed via #440.
ProtectedResourceMetadata::$scopesSupportedis entirely operator-supplied; nothing in the SDK ever advertisesoffline_access, pinned by a regression test.