OAuth 중 토큰관련

Siwoo Pak·2021년 11월 22일
0

Oauth 구현 중 토큰이 클라이언트에 전송안 되었던 이유

  • oauth 구현중(구글 로그인만 하였다) 콜백까지 잘 받고
    리다이렉이트로 우리가 배포한 클라이언트 서버의 주소를 입력하였다. 리다이렉트로 연결하였기에 body부분에 데이터를 주고 받을 수 없어. 쿠키형식으로 토큰을 전송하였는데, response론 쿠키가 잘 가는데 애플리케이션에 쿠키에 데이터가 없어서
    먼가 문제인가 한참 고민해봤더니(실질적으로 3시간 걸린 듯)
  • 쿠키를 보낼 때 옵션으로 도메인 설정을 안해서 쿠키가 제대로 전송 안 되었다(우리가 배포한 클라이언트와 서버의 주소가 달랐다. 로컬에서 테스트했을 시 잘 되었던건 도메인주소가 같았기에)

해결 방법

  • 그래서 콜백 api에서 토큰을 생성하고 쿠키로 지정했을 때 옵션으로 domain과 값에 클라이언트 주소를 추가하였고,
    클라이언트에서 그 데이터를 받으면 다시 post형식으로 서버에 쿠키를 전송해서 Server에서 쿠키의 토큰을 재발급해서 body의 토큰을 보내는 방식으로 해결하였다.
profile
'하루를 참고 인내하면 열흘을 벌 수 있고 사흘을 참고 견디면 30일을, 30일을 견디면 3년을 벌 수 있다.'

0개의 댓글