iOS iCloud+ 비공개 릴레이 관련 에러

문의 시, 사용하시는 SDK 버전 정보와 디벨로퍼스 앱ID를 알려주세요.


SDK: v1.43.1
디벨로퍼스 앱ID: 994641


안녕하세요 :smiley:
카카오 로그인을 사용하여 서비스를 운영하고 있습니다.
친절하고 꼼꼼하게 답변 작성해주시는 덕에 FAQ를 비롯한 데브톡도 확인하면서 개발에 큰 어려움이 없었는데, 최근 생긴 이슈를 해결하지 못하고, 데브톡에서 이 부분에 대한 내용은 발견하지 못해 글을 올립니다.

최근 iOS 17로 업데이트하면서 비공개 릴레이 활성화를 묻는 알림이 뜨는 것으로 보이는데, 아시다시피 비공개 릴레이 활성화로 인해 ip가 변경되어 네트워크 에러를 띄우며 카카오 로그인에 실패합니다.

그런데, 같은 기기의 같은 조건(비공개 릴레이 활성화) 그리고 같은 브라우저(safari)에서 다른 서비스의 카카오톡 로그인을 시도하면 정상적으로 작동하는 경우가 많습니다.
그 중에는 저희 서비스와 동일한 v1.43.1을 사용하는 곳도 있었고, v2도 있었습니다.
혹 버전의 문제일까 싶어서 v2.5.0으로 바꾸어 시도했는데, redirectUri에서 정상적인 code가 아닌 error message(invalid_request&error_description=network%20error%20occurred)가 쿼리 파라미터로 전달되는 것을 보니 버전의 문제는 아닌 것으로 보입니다.

혹시 비공개 릴레이가 활성화되어 있더라도 로그인에 성공할 수 있는 다른 방법이 있는 것일까요?
버전 업그레이드 또는 별도 방법으로 해결할 수 있을지 궁금합니다.
유사한 답변이 있다면 링크 걸어주셔도 됩니다.

감사합니다.

안녕하세요.

카카오 로그인 도중에 IP 가 변경되는 경우 계정 탈취 행위와 구분할 수 없기때문에 로그인 실패 처리하고 있는데요.
첨부해주신 화면은 JS SDK authorize이용하여 카카오톡앱으로 간편로그인 시, 발생합니다.

카카오톡 앱을 띄워 ID/PW 입력 없이 로그인 처리 또는 동의창 동의하고
카카오톡 앱을 호출한 웹브라우저는 주기적으로 폴링하며 카카오톡 앱에서 정상처리되었는지 체크하는데요.
이때, 인가코드요청( JS SDK authorize)과 폴링요청간 IP가 변경되었을때 해당 에러 페이지를 표시합니다.

즉, 카카오톡앱으로 간편로그인을 하지 않는 경우 폴링과정이 없으므로 정상처리되는 경우가 있습니다.
throughTalk을 false로 하여 카카오계정로그인 페이지에서 로그인하는 경우
(1) 이미 브라우저에 카카오 계정 로그인 세션이 있다면, ID/PW로그인 절차 없이 해당 세션으로 로그인됩니다.
(2) 카카오 계정 로그인 중에도 단계별 IP 변경되면 로그인 불가 에러처리됩니다.

카카오톡앱으로 간편 로그인을 포기해야하고
카카오계정으로 로그인 처리를 해도 안되는 경우가 있으므로
비공개 릴레이 해제 안내하는 것을 추천드립니다.

감사합니다.