мой проект — это клиентское приложение (angular4) и сервер API (grails3), и мы хотели бы начать использовать Auth0. Если я правильно понял, с использованием JWT я могу иметь архитектуру API "без сеанса" со следующим потоком:
1) пользователь в клиентском приложении логин (например, с замком)
2) все запросы к API будут содержать токен jwt, а API может "проверить" токен + добавить роли (роли могут быть привязаны к "token_id", например, в качестве пользовательских утверждений).
Текущая безопасность API обеспечивается Spring Security:
у нас есть статическое правило в файле конфигурации
шаблон: '/rest/**' доступ: ['ROLE_USER']>
когда ресурс «публичный», мы просто аннотируем метод в контроллере
@Secured(['permitAll'])
пользователь входит в приложение (запрос ajax от углового клиента к серверу API), а Spring Security сохраняет свои роли в сеансе
Вот мой вопрос:
- Можно продолжать использовать нашу конфигурацию безопасности с Auth0+JWT (таким образом, каждый запрос к серверу API будет содержать JWT, будет некий "перехватчик", который проверит tokenId, расшифрует его, добавит роли, а затем Spring Security просто проверит если у пользователя есть надлежащая роль для доступа к службе API, поскольку пользователь будет зарегистрирован, а его роли будут сохранены в сеансе).
- Существует ли такой "перехватчик"?
Большое спасибо !