spring jwt 로그인

이태규·2022년 4월 8일
1

spring

목록 보기
53/64

1. UserDeatilsServiceImpl을 Autowired해준다.

로그인은 securiy로 했었다. 로그인이 필요한 상황 어떻게 처리할 것인가?
serviceimpl을 이용해서 쓴다.

@Autowired
    UserDetailsServiceImpl userDetailsServiceImpl;



    @RequestMapping(value = "/login", method = { RequestMethod.POST }, 
    consumes = { MediaType.ALL_VALUE }, 
    produces = { MediaType.APPLICATION_JSON_VALUE })
    public Map<String, Object> loginPost(@RequestBody MemberDTO member) {
        System.out.println("HERERER" + member);
        Map<String, Object> map = new HashMap<>();
        map.put("status", 0);

        UserDetails user = userDetailsServiceImpl.loadUserByUsername(member.getUemail());

        BCryptPasswordEncoder bcpe = new BCryptPasswordEncoder();

        // 암호화 되지 않은 것과 암호화 된 것 비교하기
        // 앞이 암호화되지 않은 것 뒤고 암호화된 것
        if (bcpe.matches(member.getUpw(), user.getPassword())) {
            String token = jwtUtil.generatorToken(member.getUemail());
            map.put("token", token);
            map.put("status", 200);
        }

        return map;
    }

2. 비교하기

bcpe.mathes(암호화x 암호, 암호화o 암호)

if (bcpe.matches(member.getUpw(), user.getPassword())) {
            String token = jwtUtil.generatorToken(member.getUemail());

같으면 토큰 넣기

profile
한 걸음씩 나아가자

0개의 댓글