플러터 에서 InAppWebView 방식으로, 카카오 로그인을 구현하려고 하는데요.
기존에 프론트에서 만들어 놓은 javascript 방식이 있어서, 그걸 활용하려고 합니다.
하지만 기존 방식으로 하면, 웹에서는 잘되는데, 웹앱에서는 유효하지 않은 키값이라고 하면서 진행이 안됩니다.
어떤 방식으로 진행하면 될까요?
플러터 에서 InAppWebView 방식으로, 카카오 로그인을 구현하려고 하는데요.
기존에 프론트에서 만들어 놓은 javascript 방식이 있어서, 그걸 활용하려고 합니다.
하지만 기존 방식으로 하면, 웹에서는 잘되는데, 웹앱에서는 유효하지 않은 키값이라고 하면서 진행이 안됩니다.
어떤 방식으로 진행하면 될까요?
안녕하세요
앱 id가 어떻게 되나요?
그리고 에러가 발생한 날짜 및 시각도 알려주시면 감사하겠습니다.
방식을 바꿔서 테스트 중인데요…
프론트 단에서는 JS SDK 방식으로 호출하는게 맞는지요?
const loginWithKakao = () => {
if (!Kakao.isInitialized()) {
Kakao.init('127XXXXX);
}
Kakao.Auth.authorize({
redirectUri: ${window.location.origin}/gateway
,
scope: ‘account_email’,
prompts: ‘’,
});
};
이런식으로 해서 호출을 합니다.
키가 REST API, JS가 있는데… JS 로 하는게 맞죠?
그리고 하이브리드 관련 설정도 다 적용했습니다.
AndroidManifest.xml 파일에
최종적으로 웹앱에서 카카오 로그인 버튼을 눌르면, intent:#Intent;action=com.kakao.talk.intent.action.CAPRI_LOGGED_IN_ACTIVITY;launchFlags=0x08880000;S.com.kakao.sdk.talk.appKey=127 이런식으로 오류가 나고 카카오톡 앱을 실행 시키지 않습니다.
하지만 위에 쿼리를 제거하면, url 링크로 이동되어, 로그인 하라고 합니다.
뭐가 잘못된걸까요?
안녕하세요 답변이 조금 늦었네요
우선 답변해주신거처럼 웹뷰 환경이라면 웹 페이지에서 JS SDK를 사용해 카카오 로그인을 구현하고 하이브리드 관련 설정을 적용하는 것이 맞는데요.
첨부해주신 에러 로그를 봤을 때, 현재 웹뷰에서 Intent 스킴을 지원하지 않아서 에러가 발생하는 것 같아요. 카카오톡은 Intent를 통해 실행되기 때문에 JS SDK에서 생성한 Intent 스킴을 파싱한 뒤 Intent 호출을 통해 카카오톡 로그인을 실행시켜야할 것으로 보입니다.
해당 블로그를 참고하시면 도움이 될 것 같습니다.