REST API를 통해 카카오 로그인하기 성공 후, 원래 페이지로 돌아가기

안녕하세요.

현재 웹에서 카카오 로그인하기(REST API)를 구현중에 있습니다.
로그인을 완료하면 아래와 같이 히스토리가 쌓이게 되는데,

자체웹1 - 자체웹2(로그인페이지) - 카카오로그인페이지 - 자체웹3(리다이렉트 URL)

히스토리 관리 차원에서 로그인 완료 시, 다시 카카오로그인페이지로 이동을 막기 위해 goBack을 자체웹3 페이지에서 수행하고, 제일 처음 자체웹1 페이지로 이동시키고자 합니다. (아래는 목표하는 히스토리 스택)

자체웹1

브라우저에서 카카오 로그인 기록이 없을 경우 카카오측 로그인페이지의 history가 2개 쌓이게 되고, 만약 브라우저에서 카카오 로그인이 되어있으면 history가 0개 쌓이게 되는데요.

문제는 리다이렉트로 돌아온 자체웹3 페이지에서는 브라우저에서 카카오로그인이 되어있는지 유무를 파악하지 못해 goBack을 어디로 해야할지 알 수 없는 상황입니다.

이런 상황에서 어떤 해결책이 있을까요?

도움 부탁드리겠습니다. 감사합니다!

카카오 로그인과 같은 OAuth2 방식의 로그인 서비스는
보안상 지정된 파라미터 외에 별도의 파라미터를 사용할수 없어
로그인 전의 정보를 로그인 이후로 전달하기 까다롭습니다.

때문에 보통 아래와 같은 방식을 사용하여 구현하시는것 같습니다.

  1. state 파라미터 활용
    카카오 로그인 시 state파라미터에 전달한 값은 redirect_uri 호출 시, 그대로 전달됩니다.
    QR로 접근한 경우 상품정보를 로그인 시 state 파라미터로 전달, 이후 redirect_uri에서 로그인 처리 완료 후, 해당 파라미터를 참고하여 최종 랜딩페이지 결정
  2. 쿠키를 활용
    QR로 접근한 경우 상품 정보를 쿠키에 저장, 이후 redirect_uri에서 로그인 처리 완료 후, 쿠키값을 참고하여 최종 랜딩페이지 결정