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
fix(oauth): advertise offline_access, and treat it as asking for nothing
ChatGPT checks discovery metadata for offline_access before trusting
refresh-token renewal. Advertise it in both documents, and strip it at
authorize and refresh before the scope decision, so a client sending
only that word is neither pinned to read nor narrowed on renewal.
Closes#159
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ApYKEKcBnpuz8w6BX2agfH
$this->assertContains( 'refresh_token', $server['grant_types_supported'], 'Advertising the scope only makes sense alongside the grant.' );
78
+
79
+
$this->assertSame( array( 'saddle:read', 'saddle:write', 'saddle:admin' ), Saddle_OAuth::SCOPES, 'SCOPES is the tier clamp and must stay exactly three.' );
80
+
$this->assertSame( 'read', Saddle_OAuth::scope_to_tier( 'offline_access' ), 'The refresh scope must never resolve above the least tier.' );
0 commit comments