Я новичок в Spring Boot и Spring Security и создаю службу API RESTful, позволяющую пользователю регистрироваться, входить в систему и выполнять другие действия в приложении.
Я использую JWT для проверки заявок и буду передавать маркер каждый раз, когда мой пользователь использует API-интерфейсы, отличные от входа и регистрации. Поэтому я хотел бы разрешить доступ к этим API, не передавая JWT, но в остальном я хочу отклонить запрос напрямую, если JWT не пройден.
У меня есть только один контроллер, который является UserController, и он отображается на путь /api/user
. Это будет обслуживать следующие API -
/sign-up
. Это метод POST. Я хочу, чтобы он разрешил доступ к нему без необходимости прохождения JWT.
/verify/{verificationCode}
Это метод GET. Я хочу, чтобы ему был разрешен доступ к нему без необходимости прохождения JWT.
/set-password/
Это метод POST, который возвращает JWT.
/set-profile
. Это метод PUT и будет использовать JWT.
Я попробовал несколько примеров по настройке WebSecurity и HttpSecurity с помощью antMatchers, а также настроил GenericFilterBean.
Я не знаю, правильный подход и помощь будет очень цениться. Я использую версию 2.1.3. Релиз Spring.