Как я могу заблокировать свою страницу пользовательского интерфейса Swagger за экраном входа в систему? - PullRequest
0 голосов
/ 29 марта 2019

Я пытался найти способ, которым я могу заблокировать свою страницу swagger-ui.html за экраном входа в систему, используя Oauth 2.0, и в конечном итоге иметь возможность идентифицировать пользователя с помощью JWT.

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

1 Ответ

0 голосов
/ 29 марта 2019

Вам необходимо добавить промежуточное программное обеспечение, которое ищет токен (может быть JWT или что-то еще), который в настоящее время действует.Если он недействителен, отправьте пользователя через механизм аутентификации (это может быть Oauth2 или что-то еще).Это не уникально для SwaggerUI - он будет работать для любого веб-приложения.

В этом ответе рассказывается, как использовать фильтр Spring MVC для проверки токенов сеанса: https://stackoverflow.com/a/21592143/1168588

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

(примечание - OAuth и JWT не являются взаимоисключающими - OAuth - это протокол обмена токенами, а JWT - формат токенов).

...