Skip to main content

Build a client assertion

A client assertion is a short-lived JWT, signed with your private key. You send it with each token request instead of a client secret. This is the OAuth 2.0 private_key_jwt method from RFC 7523.

algstringrequired

Always RS256.

typstring

JWT.

No kid is needed. Ryno verifies the signature against the one certificate you registered.

Claims​

issstringrequired

Your client ID.

substringrequired

Your client ID, the same as iss.

audstringrequired

The exact token endpoint URL for the environment. See Environments.

jtistringrequired

A new unique value for every assertion. Use a UUID. A reused assertion is rejected.

iatnumberrequired

The current time, in Unix seconds.

expnumberrequired

Expiry, in Unix seconds. Use 60 seconds after iat.

Rules​

  • Sign a fresh assertion for every token request. Never cache or reuse one.
  • An assertion is not an access token. Never send it to the API.
  • Keep your server clock synchronised with NTP. Clock drift is the most common cause of rejected assertions.

Complete clients: Node.js, Python, C#.