Size: a a a

2020 November 03

A

Alex in pro.jvm
Вот метод который аутентифицирует пользователя
источник

A

Alex in pro.jvm
@PostMapping("/authenticate")
public ResponseEntity<JWTToken> authorize(@Valid @RequestBody LoginVM loginVM) {
 
 UsernamePasswordAuthenticationToken authenticationToken =
   new UsernamePasswordAuthenticationToken(loginVM.getUsername(), loginVM.getPassword());
 
 Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken);
 SecurityContextHolder.getContext().setAuthentication(authentication);
 boolean rememberMe = (loginVM.isRememberMe() == null) ? false : loginVM.isRememberMe();
 String jwt = tokenProvider.createToken(authentication, rememberMe);
 HttpHeaders httpHeaders = new HttpHeaders();
 httpHeaders.add(JWTFilter.AUTHORIZATION_HEADER, "Bearer " + jwt);
 return new ResponseEntity<>(new JWTToken(jwt), httpHeaders, HttpStatus.OK);
}
источник

A

Alex in pro.jvm
Как я думал SecurityContextHolder.getContext().setAuthentication() создает сессию
источник

PR

Petro Rudenko in pro.jvm
А SessionSrategy у тебя какой?
источник

PR

Petro Rudenko in pro.jvm
Vladislav
Всем привет. Подскажите, почему при внедрении Authentication (для того чтобы узнать username пользователя) и при получении его sub через Evaluate Expression в Idea всё работает, а если написать тоже самое в коде, то класс не импортируется? Или может есть способ получше чтобы узнать username залогиненого пользователя через jwt?
https://i.imgur.com/2LoXqA4.png
а у тебя точно нигде в классе нет другого импорта с таким же именем DefaultClaims?
источник

V

Vladislav in pro.jvm
Petro Rudenko
а у тебя точно нигде в классе нет другого импорта с таким же именем DefaultClaims?
Не
источник

PR

Petro Rudenko in pro.jvm
ты уверен что нужно к DefaultClaims кастить? )
источник

V

Vladislav in pro.jvm
Petro Rudenko
ты уверен что нужно к DefaultClaims кастить? )
Я уже просто скастил в строку и распарсил)))
источник

PR

Petro Rudenko in pro.jvm
claims ты можешь получить непосредственно спарсив токен, типа:
SignedJWT jwt = SignedJWT.parse(accessToken);
JWTClaimsSet
claims = jwt.getJWTClaimsSet();
источник

V

Vladislav in pro.jvm
Petro Rudenko
claims ты можешь получить непосредственно спарсив токен, типа:
SignedJWT jwt = SignedJWT.parse(accessToken);
JWTClaimsSet
claims = jwt.getJWTClaimsSet();
Спасибо
источник

RU

Roman Ushakov in pro.jvm
Dima
хотя r2dbc spring data пока еще юзлесс
Скорее всего запилят Spring Reactive Data или что-то в этом духе.
Жаль, что r2dbc не удел, конечно.
источник

D

Dima in pro.jvm
Roman Ushakov
Скорее всего запилят Spring Reactive Data или что-то в этом духе.
Жаль, что r2dbc не удел, конечно.
шанс еще есть
источник

D

Dima in pro.jvm
просто скорее всего их самописный маппер пойдет на помойку
источник

D

Dima in pro.jvm
главное чтобы hibernate-reactive бриджи сделал для других драйверов и все путем будет
источник

RU

Roman Ushakov in pro.jvm
Я думаю, они таки и сделают, не будут же они городить очередные велосипеды учитывая их опыт и знания.
источник

SE

Sergei Egorov in pro.jvm
Roman Ushakov
Скорее всего запилят Spring Reactive Data или что-то в этом духе.
Жаль, что r2dbc не удел, конечно.
Шта?
источник

A

Alex in pro.jvm
Petro Rudenko
А SessionSrategy у тебя какой?
Не знаю. Имеется ввиду это в SecurityConfiguration? sessionCreationPolicy(SessionCreationPolicy.STATELESS)
источник

V

Vlad in pro.jvm
есть тут кто в андроид студии работает?
источник

EK

Eugene Kazakov in pro.jvm
Vlad
есть тут кто в андроид студии работает?
В @android_ru точно есть
источник

V

Vlad in pro.jvm
Окей, спасибо
источник