문의 시, 사용하시는 개발환경과 디벨로퍼스 앱ID를 알려주세요.
rest api를 사용하여 php 환경에서 웹페이지에서 카카오 로그인이 가능하도록 구현을 해보았습니다.
PC에서는 로그인이 잘 진행 되었으나,
스마트폰으로 웹페이지에 진입을 하니 카카오톡 로그인이 안되는 상황이 게속 발생합니다.
어떤기기는 무반응으로 페이지가 새로고침되는 현상이 발생하고, 어떤 기기는 동의화면만 계속 발생하는 상황이 벌어집니다.
크롬, 기본인터넷앱을 사용하였을 때 로그인이 안되었고, 독특한점은 네이버앱을 통해 실행했을 때는 로그인이 가능했다는 것입니다.
앱 아이디는 1056213 입니다.
tim.l
4월 16, 2024, 7:02오전
4
카카오톡으로 로그인 시도할때 개발하신 코드상 문제 발생한 것 같습니다.
관련 코드 블럭 기재해주시겠어요?
우선 해당 url에 카카오톡 로그인 버튼 클릭하면 kakao_login.php 페이지로 이동합니다.
해당페이지에서는 스크립트로 api호출 후 다음페이지로 리다이렉트합니다.
<script src="https://t1.kakaocdn.net/kakao_js_sdk/2.7.1/kakao.min.js"
integrity="sha384-kDljxUXHaJ9xAb2AzRd59KxjrFjzHa5TAoFQ6GbYTCAG0bjM55XohjjDT7tDDC01" crossorigin="anonymous"></script>
<script>
Kakao.init('javascript키'); // 사용하려는 앱의 JavaScript 키 입력
</script>
<script>
Kakao.Auth.authorize({
redirectUri: 'https://www.mutalrtc.com/mall/kakao_check.php',
serviceTerms: 'account_email',
});
</script>
다음 리다이렉트 페이지에서 restapi를 사용하여 토큰발행, 사용자 정보를 받아옵니다.
그리고 코드상 문제가 발생했다면 pc에서도 로그인이 불가능해야 하는거 아닙니까?
스마트기기일경우는 다른코드를 써야 된다는 말인가요?
tim.l
4월 16, 2024, 7:35오전
7
로그인 버튼에 링크 걸고 이동한 페이지에서 스크립트 바로 실행하시는 군요.
<a href="kakao_login.php" class="searchIdPw ">
<img src="/mall/icons/kakao_login_large_wide.png" style="width:100%;border-radius:30px;"></a>
카카오와 무관하게 모바일 크롬에서는 사용자의 액션없이 스크립트로 외부 앱 호출은 차단됩니다.
(최근 모바일 브라우저 보안의 추세이니 사용자 액션 없이 스크립트 실행은 지양해야합니다.)
페이지 이동처리 하지 마시고 버튼이벤트에 스크립트 함수로 처리 하시면됩니다.
모바일이던 PC던 동일하게 이렇게 작성하시면 됩니다.