Cache-Control: public, max-age=300).
Authorization server metadata (RFC 8414)
authorization_details_types_supported carries every RAR grant type the server
accepts. It is elided above rather than reproduced, because a copy in prose goes
stale the moment a type is added — read it from the live document, or see the
generated table under authorization_details JSON Schema
below.
The device_authorization_endpoint and the urn:ietf:params:oauth:grant-type:device_code grant support the headless/SSH login flow — see Device authorization.
PKCE is mandatory —
code_challenge_methods_supported is ["S256"] only, and response_types_supported is ["code"]. There is no implicit grant. See PKCE.MCP server metadata
mcp_version field tracks the MCP authorization spec version HASP currently implements. Tokens are opaque (token_format: "opaque") — validate them with token introspection rather than parsing them.
authorization_details JSON Schema
authorization_details array — the same schema the in-console scope-grant builder validates against. Fetch it to validate authorization_details client-side before requesting a credential.
The response supports conditional requests: it returns an ETag and honors If-None-Match, replying 304 Not Modified when your cached copy is current.
authorization_details types:
See Scope grants for each type’s required fields, and the consent screen for how a requested grant is presented to the approving user.
Token revocation (RFC 7009)
200 with an empty body {}, even for an unknown or already-revoked token. Revocation is immediate: the credential cannot be used on any surface after the call returns.