카카오 로그인 구현 관련 same-origin 이슈 문의드립니다

문의 시, 사용하시는 개발환경과 디벨로퍼스 앱ID를 알려주세요.


앱키: 1078521

안녕하세요, 현재 쇼핑몰 형태의 서비스를 구현하고 있는 개발자입니다.

현재 AWS Cognito의 OIDC External Provider 으로써 카카오 서비스를 붙이고 있는 중입니다.
카카오 프로덕션 애플리케이션에서 개발용 애플리케이션을 생성한 이후에, 해당 개발용 애플리케이션의 REST API 앱 키와 보안 키를 사용해서 Cognito를 구현하면 카카오 로그인이 정상적으로 진행되빈다.

하지만, 프로덕션 애플리케이션의 앱 키와 보안 키를 활용하면 아래와 같은 에러 메세지가 발생하면서 실행되지 않습니다.

{
  "name": "InvalidOriginException",
  "recoverySuggestion": "Please call signInWithRedirect from the same origin."
}

현재 호스트 도메인을 example.com 이라고 가정했을 떄, 사용 중인 Congito의 callbackUri은 다음과 같이 설정해놓았습니다. (develop, production 환경 모두 동일합니다)

callbackUri: [ "https://example.com/kakao/callback", "https://develop.example.com/kakao/callback" ]

해당 callbackUri 값으로 develop 환경에서는 카카오 로그인이 모두 정상 동작하지만, production 환경에서는 위 에러가 발생하고 있는 상황입니다. 이런 경우에 체크해봐야할 부분이 어떤게 있을까요?

안녕하세요.

해당 오류 메시지는 카카오가 아닌 AWS Cognito에서 발생한 것으로 보입니다.

인증 요청을 시작한 도메인(origin)이 example.com이 맞을까요? callbackUri에는 origin이 동일한 url만 설정 부탁드립니다.

안녕하세요,
맞습니다. 최초로 인증 요청을 시작한 도메인은 example.com이 맞습니다.
말씀 해주신대로 callbackUri를 https://example.com/kakao/callback 으로 단일값 설정했는데도 동일한 이슈 발생 중입니다

Cognito 설정에 www가 포함된 주소로 설정하셨나요?

cognito 설정에는 www 를 제외한 주소로 설정해놓았습니다

a.redirect_sign_out_uri = ['https://www.example.com/sign-out']
a.redirect_sign_in_uri = ['https://www.example.com/customer/auth-verification']

구현하신 서비스에서 redirect_sign_in_uri 값에 www를 붙이면 이후
/error?error=redirect_mismatch&client_id=3mjk8p 으로 이동합니다.

설정에 원인이 있을것으로 보입니다.

앗 www, non-www 주소 모두 callback uri 로 등록하니 정상작동됩니다.
도움주셔서 감사합니다!