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
secrettextno—Shared secret for HMAC algorithms (HS256/384/512). Secret — encrypted at rest, never returned by the API.
publicKeytextno—PEM public key for asymmetric algorithms (RS*/ES*).
jwksUrltextno—Endpoint serving the signing keys.
jwksFiletextno—Path to a local JWKS file.
algorithmslist of textno—Accepted signing algorithms. Empty uses a safe set for the key type you configured. Example: RS256.
issuertextno—Required iss claim.
audiencetextno—Required aud claim.
claimsExpressiontextno—Expression the token claims must satisfy, e.g. OneOf('role', 'admin', 'ops'). Example: Equals('email_verified', true).
forwardAuthorizationtrue/falseno—Pass the original Authorization header on to the app instead of stripping it.
forwardHeaderskey/value mapno—Deprecated: use "Send identity to the app" below. Each row sends one claim from the verified token to your app as a request header.
forwardgroupno—Send identity to the app.

forward​

FieldTypeRequiredDefaultDescription
headerskey/value mapno—Dot 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 mapno—Claims as query parameters.
cookieskey/value mapno—Claims as cookies.
stripInboundtrue/falsenotrueLeave on. Off lets a caller send these headers itself and choose who your app thinks it is.
arraySeparatortextno—Array separator. Example: ,.
encodingone of auto, rawno—Encoding.
maxValueBytesnumberno—Maximum 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".