Я пытаюсь защитить свой сервер REST JWT
, который я внедрил сам (подразумевая, что в JWT не работает никакой весной, все остальное - Spring
).Безопасный REST Api с пружинным ботинком и JWT
У меня этот класс: JWTToken implements Authentication
.
У меня есть фильтр, который отвечает установки экземпляра JWTToken
на SecurityContextHolder
:
public class JwtFilter extends GenericFilterBean {
public void doFilter(...) {
....
JWTToken token = new JWTToken(jwt); // this init the Authentication object with all the jwt claims
SecurityContextHolder.getContext().setAuthentication(token);
....
}
У меня также есть ресурс для отладки это:
@RequestMapping(
value = "/protected_resource",
method = RequestMethod.POST
)
@RolesAllowed("admin")
public RESTResponse<String> debugJwt() {
Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); // here I can see that the context is the right one
return new RESTResponse<>("This was successful", "feedback message", true);
}
Я отсутствующий один мир из головоломка, которую я не смог найти ни в одном из ресурсов в Интернете, и вот как реализовать WebSecurityConfigurerAdapter
и, в частности, configure(HttpSecurity http)
меток.
Когда я попытался сделать это, например:
http.authorizeRequests().anyRequest().authenticated()
просит не пройти через это и ресурс не вызывался.
Что мне здесь не хватает?