지도 service 라이브러리 사용시 401에러

안녕하세요
ionic 5로 지도앱 개발중입니다~

안드로이드는 문제가없는데…
ios에서 다음과같이 401 에러가뜨면서 domain mismatched라고 뜹니다

{
“errorType”: “AccessDeniedError”,
“message”: “domain mismatched! caller=ionic%3A%2F%2Flocalhost. check out registered web domains.”
}

도메인에는 다음과 같이 3가지를 설정했어요~!

file://
http://localhost:8100
http://localhost

ionic ios webview에서 origin을 ionic:// 으로 사용한다고 합니다 ㅠ
에러 메시지처럼 ionic://localhost 를 등록하려하엿는데 형식에 맞지않다고 등록은 안되구요 ㅠ
어떻게 해야할까요…?

URL에 프로토콜을 명시해서 호출했는지 확인 부탁드립니다.
https://devtalk.kakao.com/t/ionic-framework/38778/3?u=lea.ju

네 https:// 붙였죠 ㅠ

    <script
			type="text/javascript"
			src="https://dapi.kakao.com/v2/maps/sdk.js?appkey=앱키키키키&libraries=services"
		></script>

지도는 잘 나옵니다
geocoder 의 coord2Address 호출시 문제가 발생합니다 ㅠ
ios에서요!

아이오닉에서 개발하면 ios플랫폼에서는 안드로이드와 다르게 origin이 ionic://으로 시작하거나 개발환경에 따라서 capacitor://로 시작할수도 있습니다.

https://ionicframework.com/docs/troubleshooting/cors#ionic-webview-3-x-plugin-on-cordova

현재 카카오 사이트 도메인으로 등록할수있는 도메인형식에는 포함되어있지 않지요 (file:// 혹은 http / https)
에러메시지도 등록된 도메인이 아니라고하는데, ionic://추가가 불가능할까요?

공식적으로 지원하지 않는 플랫폼이라서
현재 해당 현상을 해결하기 위한 지원은 불가능 합니다.

아래 언급한 문서의 상황과 완전히 맞지는 않을 수도 있지만,
https://github.com/ionic-team/cordova-plugin-ionic-webview
해당 웹뷰 플러그인에서 scheme을 http/https/file로 바꾸는 방식을 채택할 수 있다면
그 방법을 사용하여 해결하는 것이 현재 최선일 듯 합니다.

네… 그럼 아이오닉 ios에서는 카카오지도를 사용할수 없겟네요… ㅠ

<preference name="iosScheme" value="httpsionic" />
Default value is ionic
Values like http, https or file are not valid and will use default value instead

REST로 직접 호출하는 방식은 안되는 걸까요?

https://devtalk.kakao.com/t/rest-api-appkey/38240/4?u=doji.doo

사실 저도 질문자 분과 같은 환경에서 해 보지 않아서 모르겠습니다만,
jQuery의 $.ajax 뿐 아니라 axiosfetch 로도 가능할 것으로 보이는데요.
이것도 같은 문제가 있으려나… 어떤 부작용이 나타날지는 모르겠네요.

세상에 감동이에요
REST API KEY사용해서 직접 호출하니까 되네요!
감사합니다~ :heart_eyes:

1개의 좋아요