首页 > 解决方案 > 使用 Google OAuth 2.0 授权的 Swagger

问题描述

Swaggeraccess_code默认传递给标题。有可能通过id_token吗?

我正在用swagger.yaml版本记录我的 NodeJS REST API2.0

在此处输入图像描述

标签: oauth-2.0swaggergoogle-oauthswagger-2.0

解决方案


是的,即使@DalmTo 提到这不是一个好主意,这也是可能的。

您需要x-tokenName: id_token在 API 定义中添加 Google OAuth 安全定义。

swagger: '2.0'
...

securityDefinitions:
  google_oauth:
    type: oauth2
    description: Google OAuth
    flow: accessCode
    authorizationUrl: https://accounts.google.com/o/oauth2/v2/auth
    tokenUrl: https://www.googleapis.com/oauth2/v4/token
    x-tokenName: id_token   # <-------
    scopes:
      ...

注意:x-tokenName在 OpenAPI 2.0 定义中使用,您需要 Swagger UI 3.8.12+;要在 OpenAPI 3.0 中使用它,您需要 Swagger UI 3.25.0+。


推荐阅读