# Cheatsheets

## AuthOptions

A common base object for authentication options.

Name | Type | Description

## JWTOptions

Name | Type | Description
`@algorithm` | `String` | -
`@audience` | `Array of String` | -
`@audiences` | `Array of String` | -
`@expiresInMinutes` | `Number (int)` | -
`@expiresInSeconds` | `Number (int)` | -
`@header` | `Json object` | -
`@ignoreExpiration` | `Boolean` | -
`@issuer` | `String` | -
`@leeway` | `Number (int)` | -
`@noTimestamp` | `Boolean` | -
`@permissions` | `Array of String` | The permissions of this token.
`@scopeDelimiter` | `String` |
`@scopes` | `Array of String` |
`@subject` | `String` | -

## KeyStoreOptions

Options describing how an JWT KeyStore should behave.

Name | Type | Description
`@password` | `String` | -
`@passwordProtection` | `String` | -
`@path` | `String` | -
`@type` | `String` | -

## PubSecKeyOptions

Options describing Key stored in PEM format.

Name | Type | Description
`@algorithm` | `String` | -
`@buffer` | `String` | The PEM or Secret key buffer
`@certificate` | `Boolean` | -
`@id` | `String` | -
`@publicKey` | `String` |
`@secretKey` | `String` |
`@symmetric` | `Boolean` | -

## TokenCredentials

Credentials used by any link that requires Tokens, such as OAuth2 or JWT to perform its authentication

Name | Type | Description
`@token` | `String` | -

## UsernamePasswordCredentials

Credentials used by any link that requires tokens, for example JWT, Oauth2, OpenId Connect

Name | Type | Description
`@password` | `String` | -
`@username` | `String` | -