Я использую Spring с oauth2, который выдает токен JWT. У меня есть рабочий прототип, на котором я могу использовать аннотацию @PreAuthorize для моих целей.решение безопасности от JWT в контроллере весеннего останова
// public class Foo { private String md5Hash; } with getters, setters, etc.
@RestController
@RequestMapping("/foo")
public class WebController {
@PreAuthorize("hasAnyAuthority('client','module')")
@RequestMapping(method = RequestMethod.GET)
public String readFoo(Foo foo) {
String username = /* extract jwt info */
if (verify(username, foo.getMd5Hash()))
return "you CAN'T";
return "you can";
}
boolean verify(String user, String md5) {...}
В токене JWT определено имя пользователя. Как я могу прочитать здесь имя пользователя?
Кроме того, как вы можете видеть, у меня есть другое решение по безопасности ... это хороший способ или есть какая-то особенность Spring, которую я не знаю?
Это работает, и все ясно, спасибо! –