我正在构建一个REST API,它使用JWT令牌中的数据来执行一些操作。(例如,验证数据的所有权,因此在某些情况下,我可能会在JWT令牌中发送user_id或类似的东西)。是否可以使用OpenAPI描述JWT令牌的预期内容?
user_id
j7dteeu81#
这在OpenAPI 3.1中不受支持,但有一个现有的功能请求:Allow payload definition for JWT schema
dfddblmv2#
您可以使用JSON模式,它现在与OpenAPI 3.1兼容:
{ "type": "string", "contentMediaType": "application/jwt", "contentSchema": { "type": "array", "minItems": 2, "prefixItems": [ { "const": { "typ": "JWT", "alg": "HS256" } }, { "type": "object", "required": ["iss", "exp"], "properties": { "iss": {"type": "string"}, "exp": {"type": "integer"} } } ] } }
字符串这个例子描述了一个使用HMAC SHA-256算法进行MAC的JWT,并且在其声明集中需要“iss”和“exp”字段。参考:JSON Schema规范第8.6节中的示例3
2条答案
按热度按时间j7dteeu81#
这在OpenAPI 3.1中不受支持,但有一个现有的功能请求:
Allow payload definition for JWT schema
dfddblmv2#
您可以使用JSON模式,它现在与OpenAPI 3.1兼容:
字符串
这个例子描述了一个使用HMAC SHA-256算法进行MAC的JWT,并且在其声明集中需要“iss”和“exp”字段。
参考:JSON Schema规范第8.6节中的示例3