반응형

0. 쿠키값 아래와 같이 세팅

   관리하는 세션 키 값으로 세팅해야 한다.

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception {
   
   response.setHeader("Set-Cookie", "JSESSIONID=" + request.getRequestedSessionId() + "; path=/; Secure;  SameSite=None");

}

 

 

 

** 아래 내용은 분석하면서 정리한 내용 **

 

 

1. 현상

 

  - 크롬 브라우저에서 결제 후, 메인 화면으로 튕기는 현상

 

 

2. 원인

 

  1) 크롬 80 이상 보안 이슈.

  2) ​​결제 게이트웨이 페이지를 통해서 hyfresh 사이트로 접속 시, JSESSIONID이 사라지는 현상 발생.

 

 

3. 해결 방법

 

  - 쿠키 값에 있는 JSESSION을 sameSite none으로으로 수정.

 

 

4. 해결 과정

 

  1) 결제되는 로그와 결제가 안 되는 로그를 분석했습니다.

     결제 게이트웨이 페이지를 통해서 hyfresh 사이트로 접속 시,JSESSIONID이 사라져 있는 현상을 발견했습니다.

      (https://m.hyfresh.co.kr/biz/pay/payAuthReturn.pay)

 

 

 

 

 

  2) 많은 외국 개발자들이 이 현상을 접하고 있고, 이슈화 되었습니다.

      https://support.google.com/chrome/thread/62111771?hl=en (구글 크롬 help 사이트)

  

 

  3)  위 글 중, php 관련 내용이었지만, 세션 값을 SameSite=none으로 설정해주고 있는 것을 볼 수 있었습니다. 그래서, 저희 JSESSION을 sameSite=none으로 바꿔보았더니 문제없이 결제가 이루어졌습니다.

 

   

 

 

 

 

5. 참고사항

  - sameSite=none; Secure로 설정되어 있기 때문에, 로컬에 https 설정이 안 되어 있으면 ​Secure를 빼야합니다.

 

 

반응형