하이브리드앱에서 로그인 문제로 문의드립니다.
하이브리드앱의 웹뷰에서 JS간편로그인을 사용하지 못하므로 안드로이드/IOS의 카카오톡 SDK 라이브러리를 저희 앱에 삽입하고 네이티브용 키를 사용하여 사용자의 카카오톡 로그인을처리한 후 refresh token만 받아 그것을 저희쪽 웹서버에서 REST용 access token으로 갱신하여 사용하고 있습니다.
사용자가 하이브리드앱의 웹뷰에서 카카오톡 연동하기 버튼을 누르면 저희앱의 카카오톡 SDK를 통해 카카오톡간편로그인을 다녀와 리프레시 토큰을 받아온 후 ajax로 저희 웹서버에서 rest용 access token을 발급받은 후 세션에 저장하고 아래와 같은 URL을 받아 이동하게 되는데요.
https://kauth.kakao.com/oauth/authorize?client_id=cd7e40def3077c33c3fcdb274857d2f2&redirect_uri=https%3A%2F%2Fwww.uat.amway.co.kr%2Flogin%2Fouter%2Freceive%2Fcode%2Fkakao&response_type=code
location.href = “위 주소” 로 이동을 시킬때 cancel이 나면서 웹뷰안에 카카오톡모바일로그인창(카카오톡이 설치되지 않았을때 뜨는 일반 로그인창)이 뜹니다.
그런데 해당 화면에서 카카오톡 ID/PASSWORD를 한번이라도 입력해주면 이후에는 일반로그인창이 뜨지 않고, 카카오톡 연동하기 버튼을 누르면 일반로그인팝업이 아닌 네이티브앱을 거쳐 카카오톡 간편로그인이 뜬 후 refresh token -> ajax로 웹서버에 rest accesstoken갱신 및 위와 동일한 URL을 받고 이동시 cancel이 나지 않고 정상적으로 진행이 됩니다.
어째서 일반 로그인 화면이 뜨는지, 그리고 왜 일반로그인을 한번이라도 성공시에는 원래 프로세스로 location.href 이 되는지 원인을 못 찾고 있습니다.
그리고 일반 로그인 화면이 웹뷰에 떴을때의 주소는 다음과 같습니다.
https://accounts.kakao.com/login?continue=https%3A%2F%2Fkauth.kakao.com%2Foauth%2Fauthorize%3Fclient_id%3Dcd7e40def3077c33c3fcdb274857d2f2%26redirect_uri%3Dhttps%3A%2F%2Fwww.uat.amway.co.kr%2Flogin%2Fouter%2Freceive%2Fcode%2Fkakao%26response_type%3Dcode
제가 어떤 부분을 놓치고 있는지 확인 부탁드리겠습니다.
감사합니다.