Authentication for the Cloud Administration APIs

Clients calling Administration Event Log API or User Event Log API must authenticate themselves by including a JSON Web Token (JWT). Each request must contain a valid JWT in an HTTP Authorization header, as shown in this example:

Authorization: Bearer <JWT token>

Obtaining the API Key

The JWT is signed using an Administration API key. The Super Admin uses the Cloud Administration Console to generate the key, as described in Manage API Keys for the Administration Event Log, User Event Log, and Help Desk APIs. Obtain this key from your Super Admin.

JSON Web Token (JWT)

The JWT consists of three parts:

  • JWT header
  • JWT claims
  • JWT signature

JWT Header

The type must be set to JWT and the RS256 algorithm must be used to sign the token. Other values are not supported and result in an HTTP 403 Authorization error.

{

"typ": "JWT",

"alg": "RS256"

}

JWT Claims

The following table lists standard JWT claims that must be present for authentication. All other claims are ignored.

Claim Value
sub Access ID value of Administration API key.
iat The time when the JWT was created, specified in Unix Epoch time.
exp Expiration time of JWT, specified in Unix Epoch time. A clock skew of 60 seconds is allowed. For security reasons, tokens must expire one hour or less after they are issued. The server will enforce this.
aud Audience of the claim. Value must be the Admin REST API Base URL. This can be obtained from the adminRestApiUrl property of the Admin API key file.

The following example shows a sample JWT claims set.

{

"sub": "139f6495-e447-4a26-a765-5c01b6b152d5",

"iat" "1526273000",

"exp": "1526273493",

"aud": "https://access.securid.com/AdminInterface/restapi"

}

JWT Signature

A JWT signature must be completed with the RS256 algorithm, using the API Access Key.

Token Expiration

Tokens must expire one hour or less after they are issued, otherwise the request is rejected. A clock skew of 60 seconds is allowed.