Module ngx_http_auth_jwt_module

Example Configuration
Directives
     auth_jwt
     auth_jwt_key_file
Embedded Variables

The ngx_http_auth_jwt_module module (1.11.3) implements client authorization by validating the provided JSON Web Token (JWT) using the specified keys. JWT claims must be encoded in a JSON Web Signature (JWS) structure. The module can be used for OpenID Connect authentication.

The module may be combined with other access modules, such as ngx_http_access_module, ngx_http_auth_basic_module, and ngx_http_auth_request_module, via the satisfy directive.

This module is available as part of our commercial subscription.

Example Configuration

location / {
    auth_jwt          "closed site";
    auth_jwt_key_file conf/keys.json;
}

Directives

Syntax: auth_jwt string [token=$variable] | off;
Default:
auth_jwt off;
Context: http, server, location

Enables validation of JSON Web Token. The specified string is used as a realm. Parameter value can contain variables.

The optional token parameter specifies a variable that contains JSON Web Token. By default, JWT is passed in the “Authorization” header as a Bearer Token. JWT may be also passed as a cookie or a part of a query string:

auth_jwt "closed site" token=$cookie_auth_token;

The special value off cancels the effect of the auth_jwt directive inherited from the previous configuration level.

Syntax: auth_jwt_key_file file;
Default:
Context: http, server, location

Specifies a file in JSON Web Key Set format for validating JWT signature. Parameter value can contain variables.

Embedded Variables

The ngx_http_auth_jwt_module module supports embedded variables.

Variables that return JWT claims:

$jwt_claim_aud
audience
$jwt_claim_email
email
$jwt_claim_exp
expiration time
$jwt_claim_iat
issued at
$jwt_claim_iss
issuer
$jwt_claim_jti
JWT ID
$jwt_claim_nbf
not-before
$jwt_claim_sub
subject

Variables that return parameters of JOSE header:

$jwt_header_alg
algorithm
$jwt_header_cty
content type
$jwt_header_enc
encryption algorithm
$jwt_header_kid
key ID
$jwt_header_typ
type