최종프로젝트 로그아웃, 소셜로그인, 슬랙에 Github 연동하기

우정·2023년 2월 10일
0

로그아웃

redis 방식 사용하려다가 mysql이랑 같이 쓰면 오류가 생길 수 있다는 말을 듣고 우선은 블랙리스트 방법으로 구현해봄
-> 이거에 대해서 튜터님께 물어 본 결과 redis를 key-value 형식으로 하면 괜찮을거라는 말씀을 하셨음
사실 이때 젭이 엄청 튕겨서 이유는 듣지 못했지만 딱 저 말만 듣고 튕겼음...

redis 방법은 다음 주에 내가 맡은 부분 끝내고 도전해 볼 예정!

블랙리스트 방법

  • UserController
    @PostMapping("/logout")
    public String logoutUser(HttpServletRequest request) {
        String token = request.getHeader(JwtUtil.AUTHORIZATION_HEADER);
        userService.logoutUser(token);
        return "로그아웃 완료";
    }
  • UserService
    @Override
    public void logoutUser(String token) {
        LogoutToken logoutToken = new LogoutToken(token);
        logoutTokenRepository.save(logoutToken);
    }

그리고 security 부분 수정

  • UserDetailsServiceImpl
    @Override
    public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException {
        User user = userRepository.findByEmail(email)
                .orElseThrow(() -> new UsernameNotFoundException("사용자를 찾을 수 없습니다."));

        return new UserDetailsImpl(user);
    }

계속 사용자를 찾을 수 없다고 오류를 뱉어서 뭐지 했는데
우리가 로그인할 때 username 대신 email을 확인하기 때문에 이걸 수정해 줬어야 했다.
계속 해결 안 되길래 살짝 식은땀 났지만 어쨌든 해결!

소셜로그인

은 하고 있숨니다
강의를 한번 더 보면서 해야할 듯,,하하

슬랙에 Github 연동

블로그 위주로 따라한 뒤
pr과 review만 알림 받을 수 있게 설정한 것은 이 참고 링크 를 보고 했다
처음에 슬랙에 연동하면 issues, pulls, commits, releases, deployments 이렇게 5개의 알림을 받을 수 있도록 설정해주는데 여기서 unsubscribe 로 pulls을 제외한 나머지를 다 취소해주고 reviews를 subscibe 해주었다!

아직 pull을 안해봐서 제대로 작동하는지는 모르겠지만,, 다음에 pull 할 때 확인해봐야겠지만 아마 잘되겠지?

0개의 댓글

관련 채용 정보