결제창 또는 인증창의 경우 팝업으로 실행이 되는데, 가맹점의 도메인과 PG사 도메인간의 CORS 이슈가
발생합니다.
crossOriginOpenrPolicy 관련하여 별도의 설정이 없을 경우 기본값인 same-origin으로 설정되게 됩니다.
이런 경우 popup이 다른 도메인(pg사, iamport 등)으로 이동하게 되면 자바스크립트 상에서 popup이 닫힌 것으로 인식하여 사용자의 요청으로 취소되었다고 메세지가 표시됩니다.
이러할 경우 아래와 같은 설정을 통해 해결 할 수 있습니다.
app.use(
helmet({
contentSecurityPolicy: false,
crossOriginEmbedderPolicy: false,
crossOriginOpenerPolicy: {
policy: "same-origin-allow-popups"
},
referrerPolicy: {
policy: ["no-referrer-when-downgrade"],
},
})
);
JavaScript
복사