Table of Contents

About

An access token is a token representing an access authorization created during:

It is equivalent to a session identifier in format.

It is a string representing an access authorization to protected resources issued to the client rather than using the resource owner's credentials directly.

In this term, it's a token that serves as delegation-specific credentials.

The client uses the access token to access the protected resources owned by a resource owner hosted by a resource server.

Example

The access token is generally a JSON file with the access token value and security properties such as scope, token type, expiration, …

{
   "access_token":"yhEvm8U6uG0gPmoUDuLn3bENGIMceiFz",
   "id_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZ.... JWT",
   "scope":"openid profile email",
   "expires_in":86400,
   "token_type":"Bearer"
}

Pros and Cons

The access token provides an abstraction layer, replacing different authorization constructs (e.g., username and password) with a single token understood by the resource server.

This abstraction enables:

  • issuing access tokens more restrictive than the authorization grant used to obtain them,
  • removing the resource server's need to understand a wide range of authentication methods.

The access token content is usually opaque to the client.

Structure

Access tokens can have different formats, structures, and methods of utilization (e.g., cryptographic properties) based on the resource server security requirements.

An access token is a string representing an authorization issued to the client. The string is usually opaque to the client.

The token may be:

Attribute

The properties denotes:

  • a specific scope,
  • durations of access (lifetime), (short-live or long-lived)
  • and other access attributes.

The token properties are granted by the resource owner, and enforced by the resource server and authorization server.

Access token may have a shorter lifetime and fewer permissions than authorized by the resource owner.

Type

Access token attributes and the methods used to access protected resources are beyond the scope of the Oauth specification and are defined by companion specifications such as Bearer Token.

Management

Creation

Access tokens are issued to third-party clients with the approval of the resource owner by the authorization server via the following endpoints:

The implementation of access token are beyond the scope of the Oauth specification and are defined by companion specifications such as the Bearer Token.

Expiration

When an access token expires, developers can use an optional refresh token to request a new access token without having to ask the user to enter their credentials again.

Documentation / Reference