Exchange a code, or refresh
authorization_code requires the code_verifier, compared in constant time against the stored challenge. Redemption is a conditional UPDATE, so two concurrent exchanges of one code cannot both succeed. A code presented twice revokes the entire grant family: we cannot distinguish a broken client from an intercepted code, and the safe reading is the second.
refresh_token rotates. The presented token and its sibling access token are revoked as the replacement pair is issued, and presenting an already-revoked refresh token — the signature of a stolen copy — revokes the whole family, which makes the theft visible instead of silent.
Public clients only: send client_id in the body and no secret.
Request
- Base URL: https://scanduro.com
- URL: https://scanduro.com/oauth/token
- Auth: HTTP bearer
Request body
Response
A fresh token pair. Never cached — the response carries a no-store cache directive.
Changes
No recorded changes to this operation across all 1 revision of this API.