Как проверить поток безопасности swagger с помощью токена oauth2? - PullRequest
0 голосов
/ 24 апреля 2020

Когда API, разработанный с securityDefinition, как показано ниже, неясно, как должна выполняться проверка.

Допустим, есть ресурс API со следующим настроенным потоком безопасности oauth2_client_credentials. Тогда, если эти ресурсы API, вызванные токеном Oauth2, который был взят из предоставления пароля, должны быть отвергнуты шлюзом, не так ли?

Если это так, шлюз должен знать, как этот токен был взят либо из предоставления пароля, либо клиентский грант. Чтобы узнать, что у нас есть API интроспекции Oauth2, но он не предоставляет информацию о типе гранта.

Как можно выполнить эту проверку? Какой рекомендуемый подход?

Пожалуйста, совет.

securityDefinitions:
  oauth2_authorization_code:
    type: oauth2
    flow: accessCode
    tokenUrl: 'https://authserver.example/token'
    authorizationUrl: 'https://authserver.example/authorization'
    scopes:
      accounts: read accounts
  oauth2_client_credentials:
    type: oauth2
    flow: application
    tokenUrl: 'https://authserver.example/token'
    scopes:
      accounts: read accounts
...