# 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. This is an extended version core's link.

This extension sets the default type to the runtime keystore type (for compatibility, reasons) plus it allows the configuration of password per key using link.

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

## 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` | -