Refresh Token
A refresh token is a credential a client application holds so it can obtain new access tokens after the current one expires, without prompting the user to sign in again. Because it is typically longer-lived than an access token, it lets a user stay signed in over an extended period while short-lived access tokens are renewed behind the scenes.
In OAuth 2.0, a refresh token is a long-lived credential issued to a client that is used at the token endpoint, via the refresh token grant, to obtain new access tokens (and, in many deployments, a new refresh token pair) when the current access token expires, without requiring the user to re-authenticate. It is distinct from an access token (which authorizes access to protected resources) and, in OpenID Connect, from an ID token (which conveys authentication claims); a refresh token itself is not intended to authorize resource access. The renewal exchange gives the authorization server an enforcement point to reject reissuance, for example when a user's password or access has changed, depending on configuration and server policy.
Why it matters
Refresh tokens resolve a core tension in token-based access: security favors short-lived access tokens that limit the blast radius of a leaked credential, while usability favors keeping a user signed in across an extended session. By holding a longer-lived refresh token, a client can silently renew short-lived access tokens at the authorization server's token endpoint, so the user experiences continuity while the resource-facing credentials remain brief. This division of labor is what makes short access token lifetimes practical in most OAuth 2.0 and OpenID Connect deployments.
The renewal exchange is also a control point, not just a convenience. Because the client must return to the authorization server to obtain each new access token, that server gets a recurring opportunity to reject reissuance, for example when a user's password or access has changed, depending on server policy and configuration. Without refresh tokens and their renewal step, a still-valid long-lived access token would continue to grant access with no such intervening check.
That same longevity makes refresh tokens a high-value target. A refresh token is a credential that can be exchanged for fresh access tokens without user interaction, so a stolen refresh token can extend an attacker's access well beyond the life of any single access token. This is why refresh token handling, secure storage, transport protection, and server-side revocation and reissuance policy, warrants the same scrutiny given to the credentials it can mint, and why the renewal step's ability to reject a compromised or stale token matters operationally.
Who it's relevant to
Inside Refresh Token
Common questions
Answers to the questions practitioners most commonly ask about Refresh Token.
