swagger 描述OpenAPI中JWT令牌的内容

ltskdhd1  于 2024-01-08  发布在  其他
关注(0)|答案(2)|浏览(309)

我正在构建一个REST API,它使用JWT令牌中的数据来执行一些操作。(例如,验证数据的所有权,因此在某些情况下,我可能会在JWT令牌中发送user_id或类似的东西)。
是否可以使用OpenAPI描述JWT令牌的预期内容?

j7dteeu8

j7dteeu81#

这在OpenAPI 3.1中不受支持,但有一个现有的功能请求:
Allow payload definition for JWT schema

dfddblmv

dfddblmv2#

您可以使用JSON模式,它现在与OpenAPI 3.1兼容:

  1. {
  2. "type": "string",
  3. "contentMediaType": "application/jwt",
  4. "contentSchema": {
  5. "type": "array",
  6. "minItems": 2,
  7. "prefixItems": [
  8. {
  9. "const": {
  10. "typ": "JWT",
  11. "alg": "HS256"
  12. }
  13. },
  14. {
  15. "type": "object",
  16. "required": ["iss", "exp"],
  17. "properties": {
  18. "iss": {"type": "string"},
  19. "exp": {"type": "integer"}
  20. }
  21. }
  22. ]
  23. }
  24. }

字符串
这个例子描述了一个使用HMAC SHA-256算法进行MAC的JWT,并且在其声明集中需要“iss”和“exp”字段。
参考:JSON Schema规范第8.6节中的示例3

展开查看全部

相关问题