자 이제 로그인 완료 처리를 해줄 건데
지금은 약식으로 파라미터로 던져줘서
url에 그대로 노출이 되었다
이제 쿠키를 이용해 정보를 얻어와서
넣어주자
프런트
js
로그인 성공 뒤 링크를 index로 바꿔준다
location.href='index';
controller
이메일을 얻어오는 함수이다
userService.getEmail(request, response, token, refreshToken)
jwtService
쿠키 가져오기
String jwtToken=cookie.getValue();
String refreshToken=cookie2.getValue();
서버와 통신 시도
JSONObject jsonObject=callApiService.callApi(jwtToken,refreshToken, url);
반환 값에 토큰이 하나라도 있다면
if(jsonObject.get(AuthorizationTokenName)!=null||jsonObject.get(refreshTokenName)!=null)
새 액세스 토큰 or 리프레시 토큰 쿠키 저장
jwtToken=(String)jsonObject.get(AuthorizationTokenName);
aList.add(AuthorizationTokenName);
aList.add(jwtToken);
새 토큰으로 다시 통신
jsonObject=callApiService.callApi(jwtToken,refreshToken, url);
이러면 두 번씩 통신하는 거 아니냐?!
그렇지 않다
첫 통신에 성공했다면
if(jsonObject.get(AuthorizationTokenName)!=null||jsonObject.get(refreshTokenName)!=null)안으로 들어오지 않기 때문!
userService
서버에서 온 결과를 리턴해준다
public JSONObject getUserInfor
json에서 이메일 값을 추출한다
public String getEmail
백엔드
https://cordingmonster.tistory.com/120
Springboot Jwt 토큰 재발급!(2) with 시큐리티 예외처리
리프레시 토큰 사용전 서버 토큰 발급 형식을 둘다 쿠키로 바꿨다 https://cordingmonster.tistory.com/119?category=1039797 쿠키" data-ke-align="alignCenter" data-og-description="좀 바꿔줘야 할 부분이 있..
cordingmonster.tistory.com
이전에 구현 해서크게 해 줄 건 없다
네이버/카카오 리다이렉트 경로를 수정해주자
controller
테스트
로그인
카카오 로그인
네이버 로그인
url 뒤에 노출되지 않고 잘 나온다
후아...
여기까지 하면서 느낀 점은
1. 로컬 스토리지보단 쿠키가 좋다
2. 오타를 잘 보자 콘솔 창을 잘 보자^^
3.jwt는 매력적이다
이제 로그아웃을 만들어보자
++추가
비로그인 홈페이지 이동시
트라이 캐치를 추가해서
예외가 발생해서 처리해준다
생각해봤는데
토큰이 없다면 아예 서버에 요청 할 필요가 있나..?
토큰이 있나 검사를 하고
if(token.getValue().isEmpty()==false&&refreshToken.getValue().isEmpty()==false)
있다면 로그인 사용자이므로
이메일값을 얻어오고
JSONObject jsonObject=getUserInfor(request, response, token, refreshToken,url)
없다면 그냥 바로 null을 주면 될거같다
return null;
'Spring boot kim's Shop > 로그인' 카테고리의 다른 글
Springboot Jwt+로그아웃! with 쿠키 지워주기 (0) | 2021.08.04 |
---|---|
Springboot Jwt+비밀번호찾기!(2) with email (0) | 2021.08.01 |
Springboot Jwt+비밀번호 찾기!(1) with JavaMailSender (0) | 2021.07.29 |
Springboot Jwt+아이디 찾기! (0) | 2021.07.28 |
Springboot Jwt+로그인!(1) with successfulAuthentication/unsuccessfulAuthentication (0) | 2021.07.27 |