로그인 했을 때에는 UsernamePasswordToken에서는 password를 사용하였으나, 토큰 조회 시에는 UsernamePasswordToken에서 password를 사용하지 않았습니다.
로그인 시 UsernamePasswordToken을 사용하여 사용자 인증을 할 때, 비밀번호를 포함시켜 AuthenticationManager에 인증을 요청합니다. 이때 비밀번호는 중요한 인증 정보로 사용됩니다.
하지만 토큰 조회 시, 일반적으로 UsernamePasswordToken에서 비밀번호를 사용할 필요가 없습니다.
토큰 조회의 목적은 주로 이미 인증된 상태에서 인증된 사용자에 대한 정보를 가져오는 것이므로, 이미 인증된 정보는 Authentication 객체나 세션에서 관리되기 때문입니다. 이 경우, 비밀번호는 더 이상 필요하지 않으며, 인증된 사용자의 principal만을 조회하면 됩니다.
예를 들어, 이미 로그인하여 세션이나 토큰에 저장된 사용자 정보만을 이용해 인증 상태를 확인하고 토큰을 조회할 수 있습니다. 인증된 상태에서 UsernamePasswordToken을 사용한다고 하더라도, 비밀번호는 중요하지 않게 됩니다.
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (authentication != null) {
// 인증된 사용자의 정보
String username = authentication.getName();
// 다른 사용자 정보 처리
}