LOGBOOK

HELP

Quiz Entry - updated: 2026.10.22

Why must refresh tokens be either sender-constrained or one-time-use (rotated), and how does rotation detect theft?

Refresh tokens are long-lived, so a stolen one would give lasting access; sender-constraining binds it to the client's key so a thief cannot use it, and rotation issues a new refresh token on every use so that a reused old one reveals the theft and lets the server revoke the whole chain.

Two options:

  • Sender-constrained: the refresh token is bound to a key or certificate the client holds (for example via mutual TLS or DPoP, "Demonstrating Proof of Possession"). Presenting the token also requires proving possession of the key, which a thief does not have. For confidential clients, plain client authentication at the token endpoint already has this effect.
  • Refresh token rotation (one-time use): every refresh returns a new refresh token and invalidates the old one. If an attacker steals a refresh token, either the attacker or the legitimate client will eventually present an already-used token. The server sees the reuse, cannot tell who is who, and revokes the entire token family, forcing a fresh login.

You can see rotation in a typical session refresh: the client sends refresh token 8xLOxBtZp8 and receives both a new access token and a new refresh token 9yNOxJtZa5; the old value is now dead.

Go deeper:

From Quiz: IAM / Authentication Protocols: OAuth 2.0 and OpenID Connect | Updated: Oct 22, 2026