你可以试试这样的……(来自https://json-schema.org/draft/2020-12/json-schema-validation.html#rfc.section.8.6)
{
"type": "string",
"format": "application/jwt",
"Schema": {
"type": "array",
"minItems": 2,
"prefixItems": [
{
"const": {
"typ": "JWT",
"alg": "HS256"
}
},
{
"type": "object",
"required": ["iss", "exp"],
"properties": {
"iss": {"type": "string"},
"exp": {"type": "integer"}
}
}
]
}
}
但它会在 base64url 编码之前显示令牌。
所以我更喜欢写成下面的形式:
json_web_token:
description: |
JWT is built in the following format:
f"base64urlEncoding(header) + '.' + base64urlEncoding(payload) + '.' + base64urlEncoding(signature)"
header is an object containing -> {"alg": {CHOSEN_ALG}, "typ": "JWT"}
payload is an object containing the claims (data of jwt)
signature is an encoded with a PRIVATE_KEY object by our CHOSEN_ALG from the following format:
CHOSEN_ALG( PRIVATE_KEY, base64urlEncoding(header) + '.' + base64urlEncoding(payload))
type: string
format: application/jwt
pattern: ^([a-zA-Z0-9_=]+)\.([a-zA-Z0-9_=]+)\.([a-zA-Z0-9_\-\+\/=]+)$
example: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"