inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

JWT(JSON Web Token) 개요

UserDto 의 pwd 값 관련

603

mindecco

작성한 질문수 5

5

안녕하세요. 좋은강의 감사합니다.

다름이 아니라 강의에서 설명하실때는

getUserDetailsByEmail 메소드에서 UserEntity 를 UserDto로 맵핑할때

클라이언트가 입력한 password를 Spring Security 가 UserDto의 pwd 파라미터에 암호화하여 넣어준다는 식으로 말씀하신거 같습니다.

@Override
public UserDto getUserDetailsByEmail(String userName) {
    UserEntity userEntity = userRepository.findByEmail(userName);
    if(userEntity == null)
        throw new UsernameNotFoundException(userName);
    UserDto userDto = new ModelMapper().map(userEntity,UserDto.class);

    return userDto; 

그게 아니라 단지, ModelMapper 에 STRICT 설정을 해주지 않아서 UserDto의 pwd와 encrytedpwd 값이 모두 UserEntity의 password 값으로 들어간게 아닌가 해서 질문드립니다.

 

JPA architecture spring-cloud spring-boot Kafka msa

답변 2

2

Dowon Lee

안녕하세요, 이도원입니다.

말씀하신대로 ModelMapper에 아래와 같이 MachingStrategy를 지정하지 않으면, UserENtity의 encryptedPwd 값이 UserDto의 pwd와 encryptedPwd에 저장될 수 있습니다. 따라서, 아래와 같이 MachingStrategies.STRICT를 지정하시는 게 좋을 것 같습니다. 관련 코드는 github에 반영되어 있으니 참고하시기 바랍니다.

mapper.getConfiguration().setMatchingStrategy(MatchingStrategies.STRICT)

추가로, getUserDetailsByEmail 메소드에서는 인증이 완료된 사용자에 대해 JWT를 발급하기 위한 용도로 사용되고 있습니다.

감사합니다.

 

1

김광수

답변 감사합니다. ㅠㅠ 강의내용을 따라 하고 있는데.. 오늘 pwd 때문에 여러 번 고생하네요. 값이 null 이어야 하는데.. 강의내용엔 아래 코드에 의해서 암호화 된다고 해서 엄청 헤맸습니다.

 

authenticationManagerBuilder.userDetailsService(userService).passwordEncoder(bCryptPasswordEncoder);

0

Dowon Lee

안녕하세요, 이도원입니다.

말씀하신 내용처럼 입력 된 password가 user-service에 처리될 때는 pwd 변수에 의해서 처리되는데, 해당 암호가 입력 되었을 때, spring-security의 passwordEncoder에 의해 암호화 된다는 의미로 설명 드렸습니다. 추가 질문사항 및 다른 이견 있으시면 글 남겨 주시기 바랍니다.

감사합니다.

kafka 업데이트 강의 듣고 시포요

0

80

1

강의 교안

0

67

1

마이크로서비스간 통신 시, 인증 처리

0

74

1

api gateway 에서 인증 처리

0

62

1

섹션 19 질문드립니다

0

50

1

강의 자료 업데이트

0

80

1

부하분산 강의 섹션

0

55

1

강의자료는 어디에서?

0

68

1

강의 자료는 어디서 다운 받을 수 있나요?

0

108

1

전체 사용자 조회시 오류

0

56

1

혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??

0

107

2

학습 방향

0

93

2

카프카 커넥터 사용 목적 문의

0

84

2

kafka 강의

0

104

2

서비스 디스커버리 종류

0

85

2

강의 자료에 대해서 궁금해요

0

111

2

GlobalFilter, LoggingFilter가 동작하지 않습니다.

0

86

2

Kafka Source Connect 버전 에러

0

81

2

소스커넥터는 사용안한 거 맞죠?

0

79

2

강의자료 업데이트 문의

0

93

2

강의에서 BCryptPasswordEncoder 에 역할(5-2)

0

55

1

강의 업데이트 계획이 궁금합니다.

0

109

2

MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)

0

160

2

어떤 것이 업데이트 된 건가요?

0

160

2