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 and User Event APIs. Obtain this key from your Super Admin.
JSON Web Token (JWT)
The JWT consists of three parts:
- JWT header
- JWT claims
- JWT signature
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.
The following table lists standard JWT claims that must be present for authentication. All other claims are ignored.
|sub||Access ID value of Administration API key.|
|iat||The time when the JWT was created, specified in Unix Epoch time. Value must not be more than one hour in the past. The token must not be expired. A clock skew of plus or minus (+/-) 60 seconds is allowed.|
|exp||Expiration time, in Unix Epoch time. Expiration time must not be in the past, and must not be more than one hour into the future. A clock skew of plus or minus (+/-) 60 seconds is allowed.|
|aud||Audience of the claim. Value must be the Log Events Base REST API URL.|
The following example shows a sample JWT Claims set.
A JWT signature must be completed with the RS256 algorithm, using the API Access Key.
Tokens must expire one hour (or less) after they are issued, otherwise the request is rejected.