A JWT issuer role defines the claim constraints applied when a
caller invokes the role's mint action. Different roles on the
same issuer can mint JWTs with different shapes (subject,
audiences, custom claims, TTL).
Authority to invoke mint is conferred by policies that grant
the caller update on the role's mint action path; the role
itself only constrains what the resulting JWT may contain.
Constraints applied when minting through this issuer. Different roles can produce JWTs with different subject, audience, and claim shapes.
Created
Bad Request
Unauthorized
Forbidden
Not Found
Conflict (instance exists)
Service Unavailable (strongbox sealed)
name: reader allowed-audiences: - https://api.example.com - https://api.*.example.com default-audiences: - https://api.example.com require-audience: true subject-template: ${SYS_TENANT}/${SYS_USERNAME} default-ttl: 15m max-ttl: 1h algorithm: ES256 fixed-claims: - name: tier value: gold - name: realm value: ${SYS_TENANT} allowed-claims: - name: scope type: string-array allowed-values: - read:* - list:* - name: trace_id type: string allowed-values: - "*" required-claims: - tier verbose-logging: false distribute: to: all
Constraints applied when minting through this issuer. Different roles can produce JWTs with different subject, audience, and claim shapes.
| fields | string Retrieve only requested fields from the resource See section fields |
| where | string Retrieve only items matching the given expression. See section where |
| validate | string <enumeration> Validate the request but do not actually perform the requested operation |
| keys | string <enumeration> Retrieve only the keys for the list |
| count | string <enumeration> Retrieve only the number of elements in the list |
OK
Bad Request
Unauthorized
Forbidden
Not Found
Precondition Failed
Service Unavailable (strongbox sealed)
- name: reader allowed-audiences: - https://api.example.com - https://api.*.example.com default-audiences: - https://api.example.com require-audience: true subject-template: ${SYS_TENANT}/${SYS_USERNAME} default-ttl: 15m max-ttl: 1h algorithm: ES256 fixed-claims: - name: tier value: gold - name: realm value: ${SYS_TENANT} allowed-claims: - name: scope type: string-array allowed-values: - read:* - list:* - name: trace_id type: string allowed-values: - "*" required-claims: - tier verbose-logging: false distribute: to: all
Constraints applied when minting through this issuer. Different roles can produce JWTs with different subject, audience, and claim shapes.
No Content
Bad Request
Unauthorized
Forbidden
Not Found
Precondition Failed
Service Unavailable (strongbox sealed)
name: reader allowed-audiences: - https://api.example.com - https://api.*.example.com default-audiences: - https://api.example.com require-audience: true subject-template: ${SYS_TENANT}/${SYS_USERNAME} default-ttl: 15m max-ttl: 1h algorithm: ES256 fixed-claims: - name: tier value: gold - name: realm value: ${SYS_TENANT} allowed-claims: - name: scope type: string-array allowed-values: - read:* - list:* - name: trace_id type: string allowed-values: - "*" required-claims: - tier verbose-logging: false distribute: to: all
Constraints applied when minting through this issuer. Different roles can produce JWTs with different subject, audience, and claim shapes.
No Content
Bad Request
Unauthorized
Forbidden
Not Found
Precondition Failed
Service Unavailable (strongbox sealed)
Constraints applied when minting through this issuer. Different roles can produce JWTs with different subject, audience, and claim shapes.
Created
No Content
Bad Request
Unauthorized
Forbidden
Not Found
Precondition Failed
Service Unavailable (strongbox sealed)
name: reader allowed-audiences: - https://api.example.com - https://api.*.example.com default-audiences: - https://api.example.com require-audience: true subject-template: ${SYS_TENANT}/${SYS_USERNAME} default-ttl: 15m max-ttl: 1h algorithm: ES256 fixed-claims: - name: tier value: gold - name: realm value: ${SYS_TENANT} allowed-claims: - name: scope type: string-array allowed-values: - read:* - list:* - name: trace_id type: string allowed-values: - "*" required-claims: - tier verbose-logging: false distribute: to: all
Constraints applied when minting through this issuer. Different roles can produce JWTs with different subject, audience, and claim shapes.
OK
Bad Request
Unauthorized
Forbidden
Not Found
Precondition Failed
Service Unavailable (strongbox sealed)
name: reader allowed-audiences: - https://api.example.com - https://api.*.example.com default-audiences: - https://api.example.com require-audience: true subject-template: ${SYS_TENANT}/${SYS_USERNAME} default-ttl: 15m max-ttl: 1h algorithm: ES256 fixed-claims: - name: tier value: gold - name: realm value: ${SYS_TENANT} allowed-claims: - name: scope type: string-array allowed-values: - read:* - list:* - name: trace_id type: string allowed-values: - "*" required-claims: - tier verbose-logging: false distribute: to: all
Constraints applied when minting through this issuer. Different roles can produce JWTs with different subject, audience, and claim shapes.
| fields | string Retrieve only requested fields from the resource See section fields |
| where | string Retrieve only items matching the given expression. See section where |
| site | string Send the request to the specfifed site |
| content | string <enumeration> Filter descendant nodes in the response |
| keys | string <enumeration> Retrieve only the keys for the list |
| count | string <enumeration> Retrieve only the number of elements in the list |
OK
Bad Request
Unauthorized
Forbidden
Not Found
Service Unavailable (strongbox sealed)
- name: reader allowed-audiences: - https://api.example.com - https://api.*.example.com default-audiences: - https://api.example.com require-audience: true subject-template: ${SYS_TENANT}/${SYS_USERNAME} default-ttl: 15m max-ttl: 1h algorithm: ES256 fixed-claims: - name: tier value: gold - name: realm value: ${SYS_TENANT} allowed-claims: - name: scope type: string-array allowed-values: - read:* - list:* - name: trace_id type: string allowed-values: - "*" required-claims: - tier verbose-logging: false distribute: to: all distribution-status: to: all
Constraints applied when minting through this issuer. Different roles can produce JWTs with different subject, audience, and claim shapes.
| fields | string Retrieve only requested fields from the resource See section fields |
| where | string Retrieve only items matching the given expression. See section where |
| site | string Send the request to the specfifed site |
| content | string <enumeration> Filter descendant nodes in the response |
OK
Bad Request
Unauthorized
Forbidden
Not Found
Service Unavailable (strongbox sealed)
name: reader allowed-audiences: - https://api.example.com - https://api.*.example.com default-audiences: - https://api.example.com require-audience: true subject-template: ${SYS_TENANT}/${SYS_USERNAME} default-ttl: 15m max-ttl: 1h algorithm: ES256 fixed-claims: - name: tier value: gold - name: realm value: ${SYS_TENANT} allowed-claims: - name: scope type: string-array allowed-values: - read:* - list:* - name: trace_id type: string allowed-values: - "*" required-claims: - tier verbose-logging: false distribute: to: all distribution-status: to: all
Mint a JWT under the constraints of this role.
The TTL, audiences, subject, and extra claims supplied here
are validated against the role's constraints. The resulting
JWT carries the issuer's 'iss' claim, the kid of the active
signing key version, and the algorithm derived from the
signing key's cipher (or from the role's algorithm leaf,
if pinned).
OK
Bad Request
Unauthorized
Forbidden
Not Found
Service Unavailable (strongbox sealed)
audiences: - https://api.example.com subject: acme/alice ttl: 15m extra-claims: "{\"scope\":[\"read:orders\",\"list:invoices\"],\"trace_id\":\"7c1a\"}"
jwt: eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjEifQ.eyJpc3MiOiJodHRwczovL3N0cm9uZ2JveC5leGFtcGxlLmNvbS9qd3QvcGF5bWVudHMtYXBpIiwic3ViIjoiYWNtZS9hbGljZSIsImF1ZCI6WyJodHRwczovL2FwaS5leGFtcGxlLmNvbSJdLCJpYXQiOjE3MTAwMDAwMDAsImV4cCI6MTcxMDAwMDkwMCwidGllciI6ImdvbGQiLCJyZWFsbSI6ImFjbWUiLCJzY29wZSI6WyJyZWFkOm9yZGVycyIsImxpc3Q6aW52b2ljZXMiXSwidHJhY2VfaWQiOiI3YzFhIn0.signature kid: "1" issuer: https://strongbox.example.com/jwt/payments-api subject: acme/alice audiences: - https://api.example.com expires: 2024-03-09T12:15:00.000000Z