Skip to main content

JWT authentication

Require a valid JSON Web Token. Verify with a shared secret (HS*), a public key, or a JWKS endpoint.

TypejwtAuth
CategoryAccess

Fields

FieldTypeRequiredDefaultDescription
secrettextnoShared secret for HMAC algorithms (HS256/384/512). Secret — encrypted at rest, never returned by the API.
publicKeytextnoPEM public key for asymmetric algorithms (RS*/ES*).
jwksUrltextnoEndpoint serving the signing keys.
jwksFiletextnoPath to a local JWKS file.
algorithmslist of textnoAccepted signing algorithms. Empty uses a safe set for the key type you configured. Example: RS256.
issuertextnoRequired iss claim.
audiencetextnoRequired aud claim.
claimsExpressiontextnoExpression the token claims must satisfy, e.g. OneOf('role', 'admin', 'ops'). Example: Equals('email_verified', true).
forwardAuthorizationtrue/falsenoPass the original Authorization header on to the app instead of stripping it.
forwardHeaderskey/value mapnoDeprecated: use "Send identity to the app" below. Each row sends one claim from the verified token to your app as a request header.
forwardgroupnoSend identity to the app.

forward

FieldTypeRequiredDefaultDescription
headerskey/value mapnoDot notation reaches nested claims (user.role); booleans arrive as "true"/"false", and a claim the token does not carry is skipped rather than sent empty.
querykey/value mapnoClaims as query parameters.
cookieskey/value mapnoClaims as cookies.
stripInboundtrue/falsenotrueLeave on. Off lets a caller send these headers itself and choose who your app thinks it is.
arraySeparatortextnoArray separator. Example: ,.
encodingone of auto, rawnoEncoding.
maxValueBytesnumbernoMaximum value size. Example: 4096.
Secret fields

Fields marked secret are encrypted at rest and never returned by the API. Editing the middleware leaves a stored secret in place unless you type a new value — an empty box means "keep what is stored", not "clear it".