여차저차 구글링을 통해서 NICE 본인인증을 크롬에서는 성공하였는데 사파리, 파이어폭스 등에서는
본인인증 창 띄워서 인증 후에 405 method not allowed 가 뜨면서 인증결과를 받지 못하는 상황입니다.
혹시 강사님께서는 next 프로젝트에서 nice본인인증을 사파리에서 해결해보신적 있으실까요?
크롬은 잘 동작하는데 왜 사파리에서는 안될까요 ㅠㅠ
여기에 댓글 쓰려고 가입했습니다...
저랑 동일한 현상이신데 nextjs 13/14이신거죠? 혹시 해결은 하셨을까요?
저도 아직해결은 아니지만 어느정도 확인된 정보까지만 공유드리고자 합니다.
일단 지금까지 파본걸로는 NICE 쪽에서 리턴을 줄 때 returnUrl을 부르게 되는데
next가 이를 Server Actions로 인식을해서 발생하는 것 같습니다.
(에러메시지: x-forwarded-host header does not match origin ... )
실제로 해당 http 헤더를 찍어보면 크롬을 제외하고는 값이 다르게 나왔습니다.
이에 따라 저는
https://github.com/vercel/next.js/issues/58295
https://github.com/vercel/next.js/issues/58019#issuecomment-1803925492
이 두 글을 참고해서 next.config.js를 수정해줬구요 (experimental.serverActions.allowedOrigins / allowedForwardedHosts 값 추가)
(참고로 allowedOrigins 추가하실때 프로토콜 붙이면 다른 에러가 발생했습니다)
이렇게 하고나니 returnUrl로 열리는 페이지에서 아래와 같은 에러가 있었습니다
(Error: Failed to find Server Action "null". This request might be from an older or newer deployment. Original error: Invariant: Missing 'next-action' header.)
해당 서버컴포넌트에 'use server' 를 추가하여
서버액션으로 인식하게 하고자 했습니다.
여기부터는 저도 현재 진행중인데 쓰니분 혹시 해결되셨을까요?
p.s. 일단 현재 저는 저번주에 나온 14.0.4로 업데이트 후 테스트 중입니다.
이하버전에서 동작여부는 확인하지 않았습니다
이 문제 해결을 위해 github next 디스커션에 스레드를 세웠는데 2주째 답이 없네요... 저도 참 답답한 상태입니다 ㅠ