카카오 자동로그인에 대해 문의드립니다

문의 시, 사용하시는 개발환경과 디벨로퍼스 앱ID를 알려주세요.
react-native-webview
ID : 1088210
REST API/Jasvascript SDK 2.7.2

현재 로그인 프로세스에는 로그인 버튼 클릭 시 Kakao.Auth.authorize() 호출을 통해 진행됩니다. 로그인 후 토큰 및 사용자 정보는 REST API를 사용하여 저장되며 이에 따라 쿠키가 생성 및 저장됩니다.

예상되는 흐름은 로그인 페이지에 접근하기 전에 쿠키가 존재한다면 백단에서 자동으로 https://kauth.kakao.com/oauth/authorize로 리디렉션되고, 리디렉션_uri를 통해 인증 코드를 받은 후 다음(메인)으로 진행하는 것입니다.

하지만 사용자가 앱을 처음 설치하고 Kakao.Auth.authorize()를 통해 로그인에 성공하여 메인 화면에 도달한 후 앱을 닫으면 문제가 발생합니다.
앱을 다시 실행하면, 쿠키가 존재해 kakao.com/oauth/authorize 호출 하면 자동으로 인증번호를 수신하는 대신, 아이디와 비밀번호를 다시 입력하라는 화면으로 이동하게 됩니다.

아이디와 비번을 입력한 뒤에는 앱은 인증 코드를 성공적으로 검색하고 후속적으로 앱을 닫았다가 다시 열어도 추가 문제 없이 메인 화면으로 진행됩니다.

참고로 설치 이후에 회원탈퇴를 진행하여 쿠키를 모두 삭제 후 다시 Kakao.Auth.authorize() 호출을 통해 동의 화면부터 진행 후 다시 가입을 진행했을 때는 앱을 껐다 켜도 문제없이 메인으로 진입을 하게됩니다.

이 문제의 원인을 이해하는 데 도움을 주실 있나요?
혹시 Kakao.Auth.authorize()과 REST_API를 같이 사용을 할 수 없는건가요 ?
아니면 카카오 로그인 흐름을 원활하게 하기 위해 따라야 할 올바른 접근 방식이 있다면 알려주시면 감사하겠습니다.

앱을 다시 실행하면, 쿠키가 존재해 kakao.com/oauth/authorize 호출 하면 자동으로 인증번호를 수신하는 대신, 아이디와 비밀번호를 다시 입력하라는 화면으로 이동하게 됩니다.

REST-API authorize 한다는 말씀이시죠?

모바일 기기에서 JS SDK Kakao.Auth.authorize()를 하면 카카오톡 앱으로 로그인하고 JS SDK는 로그인 성공 폴링 대기하다 성공 응답 받으면 리다이렉트 URI로 인가 코드를 전달합니다. 브라우저에 카카오계정페이지 쿠키가 없습니다.

인앱브라우저에서 REST-API로그인은 카카오톡앱으로 로그인 불가능하며 카카오 계정 ID/PW 입력화면으로 이동하고 로그인하면 브라우저에 계정페이지 쿠키가 생성됩니다.

즉,
JS SDK Kakao.Auth.authorize()로 카카오톡앱 로그인 사용하는 환경에서 REST-API authorize 하면 다시 로그인 해야하는 것은 정상동작입니다.

혼용하지 마시고 하나만 일관되게 사용하시면 좋을 것 같습니다.

감사합니다.

자동으로 로그인 시에도 Kakao.Auth.authorize 호출하는 것으로 변경하여 아이디와비번이 뜨는 문제는 제거했습니다.

그러나 IOS에서 현재 문제가 발견되었습니다.
자동로그인이 아닌 버튼을 클릭하여 Kakao.Auth.authorize을 호출하는데
카톡이 열리고 동의 누른 사용 중인 앱으로 돌아가라는 알람을 받았으나
문제는 앱에서 아이디와 비번을 쳐야하는 화면이 나타납니다 .

그러니깐
카카오로그인버튼 클릭 → 카톡 열림 → 동의 → 사용중인 앱으로 돌아가라는알림-> 앱으로 돌아감 ->아이디와 비번을 치는 화면

물론 거기서 아이디와 비번을 치면 로그인이 다시 진행되나
왜 아이디와 비번을 치는 화면이 뜨는지를 모르겠습니다.

info.plist에도 설정이 되어있고 카톡이 열리는 것으로 봐서 문제가 없어 보이는데
저희 앱 화면에는 아이디와 비번을 치는 화면이 떠있습니다.

(1) 카카오로그인버튼 클릭 시, JS SDK의 Kakao.Auth.authorize 호출하게되고 내부적으로 유니버셜링크 호출 후, 카카오톡 앱을 실행합니다.

(2) 카카오로그인버튼 이 있는 페이지에서는 JS SDK 주기적으로 폴링하며 카카오톡에서 로그인 성공했는지 확인합니다.

(3) 카카오톡에서 로그인 성공했다면, 사용중인 앱으로 돌아가라는 화면이 표시되고

(4) 카카오로그인버튼 이 있는 페이지에서 폴링 성공응답 받았다면 리다이렉트 URI로 이동하게됩니다.
실패응답을 받았다면 그자리에 머물러있게 됩니다.

즉, 아이디와 비번을 치는 화면으로 이동처리하는 로직은 없고, 카카오톡이 설치안된경우만 해당 페이지로 이동하므로

개발하신 앱에 종속적인 문제로 추정됩니다.

재현영상과 사이트 URL 알려주시겠어요?

react-native-webview를 사용할때도 커스텀 url스킴을 등록해야하나요 ?
호출을 jsp에서 kakao js를 이용해서 호출합니다.
ios앱이 없는 폰은 사실 아무 문제 없이 작동합니다.
카카오톡이 깔려있을 때가 문제라서요.

웹뷰에서 웹페이지로 카카오톡 호출하므로 '커스텀 url스킴’은 필요없습니다.

영상 메세지로 보내드렸습니다