https://megamaker.tistory.com/298 [Spring Cloud][4] JWT, OAuth2로 로그인 하기개요 이번 프로젝트는 MSA 구조에 대해서 공부하는 것뿐만 아니라 여러 최적화도 적용해보기로 했기 때문에 서버측에 부담이 덜 갈 수 있도록 JWT를 이용하기로 했다. 일단 액세스 토큰만 구현megamaker.tistory.com 저번 로그인에 이어서 이번에는 로그아웃을 구현해보았다. 딱히 서버에서 세션을 사용하는 것이 아니어서 처리 로직은 그냥 토큰이 저장되어 있는 쿠키를 없애면 된다. 쿠키 만료시키기 gateway-service 수정 우선 gateway-service에서 로그아웃을 위한 경로를 지정한다. 로그인한 상태에서만 접근 가능하도록 필터를 적용했다. 필터명은 전에는 ..
jwt
개요 이번 프로젝트는 MSA 구조에 대해서 공부하는 것뿐만 아니라 여러 최적화도 적용해보기로 했기 때문에 서버측에 부담이 덜 갈 수 있도록 JWT를 이용하기로 했다. 일단 액세스 토큰만 구현하고 리프레시 토큰은 나중에 구현하기로 했다. 생각한 구조는 위와 같다. 클라이언트에서 서버로 요청을 보낸다.게이트웨이에서 로그인 서버로 라우팅 (그림에서 서비스 디스커버리 등은 표시 생략했다.)로그인 서비스에서 OAuth2로 네이버, 카카오, 구글 로그인을 할 수 있도록 함 (자세한 과정 또한 표시 생략했다.)로그인 과정에서 유저가 이미 회원가입을 한 상태인지 확인함 / 이미 유저가 있으면 해당 정보를 가지고 옴로그인이 완료되면 게이트웨이로 보냄홈화면으로 리다이렉트함 실제로 구현한 내용은 다음과 같다. 1. 클라..
인터넷 자료나 강의를 보면 대부분 꽤 지난 버전을 다루는 경우가 많다. 그리고 특히 사용법이 바뀐 시점에서는 자료가 많이 없기 때문에 직접 공식문서나 구글링을 열심히 하면서 사용법을 익혀야 한다. JWT도 마찬가지로 예전과는 사용법이 달라져서 최신버전을 사용하려면 새로운 방식으로 기존의 코드를 변경해야 한다. 나도 강의를 듣다가 기존의 코드를 새롭게 바꿔야 하는 경우를 맞닥뜨려서 새로운 버전에 맞춰 코드를 변경하기로 했다. 생성 byte[] secretKey = Base64.getEncoder().encode(environment.getProperty("token.secret").getBytes()); String token = Jwts.builder() .setSubject(userDto.getUser..