Skip to content

token_pass

token_pass renders a JWT payload, signs it, and either redirects to a URL containing the token or calls that URL and returns its response.

yaml
server:
  http:
    middlewares:
      signed_dashboard:
        token_pass:
          secret_key: test_secret_key
          signing_method: HS256
          default_exp_duration: 10m
          payload: |
            resource:
              dashboard: 1
            params:
              user: {{ index .headers "X-User" }}
          redirect_url: http://dashboard.local/embed/{{ .token }}
          redirect_with_code: true
          method: GET
          enable_body: false
          body_raw: false
          headers: {}

Fields

FieldDescription
secret_keyHMAC signing key.
signing_methodJWT signing method. Defaults to HS256 when invalid or empty.
payloadYAML claims rendered as a template.
default_exp_durationDuration used to add exp when the payload omits it. Set a valid duration such as 10m or 0s.
redirect_urlTemplate rendered after .token is added to template data.
redirect_with_codeRedirect to redirect_url instead of making a backend request.
methodBackend request method. Defaults to GET.
enable_bodySend a request body when not redirecting.
body_rawReuse the incoming request body when enable_body is true.
bodyTemplate for backend request body when body_raw is false.
additional_valuesExtra values exposed as .values.
insecure_skip_verifySkip TLS verification for backend request.
enable_retryEnable klient retry behavior.
headersBackend request headers.
debug_tokenLog generated token at debug level.
debug_payloadLog rendered payload at debug level.

Template data includes body, body_raw, method, headers, query_params, cookies, path, and values.