[SDK / 앱 정보]
- Kakao JavaScript SDK: 2.7.4
- 앱 ID: 3674220745
[환경]
- React Native 앱 내 WebView에서 Kakao.Auth.authorize 호출
- 카카오 로그인 페이지를 WebView로 로드하여 로그인 진행
현상]
저희 앱 유저 중 일부가 WebView에서 카카오 로그인 시 아래 현상을 겪고 있어 관련 정보를 여쭙고자 합니다.
- WebView에서 카카오 로그인 화면 진입 → ID/PW 입력 후 로그인
- “안전한 서비스 이용을 위해 아래 문제에 답해 주세요.” 팝업이 잠깐 스쳐지나감 (1초 이내)
- 곧바로 “Application error: a client-side exception has occurred” 화면으로 전환
- 유저는 보안 인증 팝업을 인지하지 못한 채 "카카오 로그인이 안 된다"고 문의
- 앱 종료 후 2~3회 재시도하면 보안 인증 없이 로그인되는 경우도 있으나, 대부분의 경우 앱 재설치 안내드려도 안되는 경우가 많음)
- 동일 계정으로 웹 환경에서는 정상 로그인 가능
[여쭙고 싶은 것]
- 이 보안 인증 팝업이 WebView에서 정상 동작하려면 특정 도메인이나 리소스 접근이 필요할까요?
known issue인지 문의드려요
- 카카오 쪽 로그에서 해당 앱 ID에 대해 보안 인증이 트리거된 이력이나 실패 로그를 확인할 수 있을까요?
- 이 보안 인증이 트리거되는 조건이 어떻게 되나요? (반복 로그인 시도, 기기 변경 등)
안녕하세요.
확인을 위해 앱 ID 부탁드립니다.
앱ID
https://developers.kakao.com/console/app 에 표시되는 ID 값 입니다.
숫자로된 ID 입니다
ex) 123456
안녕하세요
현재 이 이슈는 React Native 앱 내 WebView 환경에서만 발생하고 있어 웹 URL로 직접 재현이 어려운 상황입니다.
- 웹 브라우저에서 동일 계정으로 접근 시 정상 로그인됨
- 앱 내 WebView에서만 보안 인증 팝업이 표시된 직후 에러 발생
- 모든 유저에게서 발생하진 않음
- 내부적으로도 로컬에서 재현을 시도했으나 아직 성공하지 못한 상태
유저가 제공한 화면 녹화 영상이 있으며, 보안 인증 팝업(“안전한 서비스 이용을 위해 아래 문제에 답해 주세요.”)이 잠깐 표시된 뒤 에러 화면으로 전환되는 과정이 있는데요. 파일 첨부로 올리겠습니다.
오늘 추가로 관련 이슈 발생한 유저의 경우,
아래과 같이 해결 시도 요청드렸고 로그인이 됐다고 합니다.
- VPN/광고 차단 앱이 핸드폰에서 작동 중인 경우, 아이폰 기준 vpn 및 기기관리 > 구성프로필에 되어있는 광고 차단 앱 제거
tim.l
7
안녕하세요.
그렇다면 해당 유저는 웹뷰 환경이 아니라 기본브라우저에서도 동일한 증상 있었던걸까요?
다른 유저도 웹뷰 환경 문제인지 기본브라우저에서도 동일한지 확인해주시면 좋을 것 같고
다른 사례에 캐시문제로 리포팅된적이 있어서 임시 인터넷 파일 삭제 시도 해보는 것도 좋을 것 같습니다.
-
기본 브라우저에서는 정상 로그인이 된다고 합니다.
- 앱 재설치는 효과없음
- 전날 앱 로그인 안됐던 유저가 다음날에도 계속 문의
- 앱을 껐다가 반복하니 됐다는 유저도 존재
현재 에러는 모두 웹뷰에서 발생하고 있습니다
추가로 유저가 이렇게 답변이 왔는데요
-
VPN 끄고나니 정상 로그인 됩니다. VPN 사용하면 왜 로그인이 안되나요?”
혹시 해당 이슈가 VPN과 광고차단앱과의 관계가 있을까요?
tim.l
10
해당에러는 스크립트를 제대로 로드할 수 없는 상황에 범용적으로 발생하는 에러인데요.
(1) 일반적으로 카카오에서 스크립트 변경 시, 자동 갱신되나 상황에 따라 로컬 캐시가 갱신되지 않아 충돌 발생하는 경우 해당 에러가 표시됩니다.
(2) 스크립트를 로드할 수 없는 상황에 해당 메시지가 발생할 수도 있습니다.
예를들어 (광고)스크립트 차단 플러그인을 사용하거나 (이경우 기본브라우저도 마찬가지여야합니다.)
웹뷰내 사이트 허용 정책, 팝업허용 정책에 따라 로드 못한경우
VPN을 사용하면 해외 IP 접속으로 리캡챠 같은 보안 Flow로 진입할 수 있는데,
말씀하신 "보안 인증 팝업"을 로드하지 못하는 원인이 웹뷰에 있을 것으로 추정됩니다.
VPN으로 해외 IP 접속 시도하면 재현가능할듯한데요. 확인해보시겠어요?
먼저, 웹뷰나 사이트에 Content-Security-Policy 적용한 부분 있는지 확인해보시겠어요?
1개의 좋아요
몇가지 케이스를 추가로 발견했습니다.
- tiara 라이브러리 로드시 스크립트를 가져오지 못하는 케이스가 존재 ( 특정 IP 대역에서 접근이 안되는 것 같습니다. LTE 껏다가 재접속시에는 로드 됨 )
- 캡차 팝업 노출 되는 케이스가 발생할떄 웹뷰 내에서 로드하지 못하여 상황 재현됨
위 두가지 케이스에 대하여 고객들에게는 VPN 사용 여부를 확인하고 있고 미사용되는 케이스에서도 간헐적으로 위와 같은 케이스로 인해 카카오 로그인하기를 사용하지 못하고 있는 상황입니다.
tim.l
12
안녕하세요.
말씀하신 내용을 보면,
- tiara 라이브러리 IP 대역 일부 차단 - 이용자 네트워크 환경 방화벽 설정
- 캡차 팝업 노출 되는 케이스 - VPN 또는 광고차단앱
두가지로 유추할 수 있는데요.
혹시, 안드로이드 기기인가요?
광고 차단 앱을 설치하면 아래와 같은 설정이됩니다. VPN 사용 여부와 광고 차단앱 설치 여부도 확인되면 좋을 것 같습니다.
안드로이드 연결 > 기타 연결 설정 > 프라이빗 DNS > 공급자 호스트 이름 dns.adguard.com와 같은 DNS 호스트 지정
캡챠를 광고로 인식해 차단되는 상황이 유력해보입니다.
안드로이드의 경우는 주신 피드백 반영해서 확인해보겠습니다.
비율로 봤을때 iOS 기기에서 발생하는 케이스가 더 많은데 iOS케이스는 어떻게 확인해보면 좋을까요?
tim.l
14
동일하게 캡챠가 떴다가 꺼지는 경우인지 확인 필요한데요.
iOS는 보통 비공개릴레이 설정을 활성화 해서 로그인 도중 IP가 변경되어 로그인 실패하는 경우가 많습니다.
“Apple ID” → “iCloud” → "비공개 릴레이"로 이동하여 비공개 릴레이를 끔으로 설정
iOS 관련 영상이나 캡쳐 제공해주시면 더 분석해보도록 하겠습니다.
tim.l
15
@정남
추가로 확인된 내용 있어서 확인 요청 드립니다.
알려진 오류 사례로 인앱브라우저에서 User-Agent를 온전히 교체 해버린 경우
캡챠가 정상작동 하지 않는다는 이슈를 확인하였습니다.
웹뷰에서 User-Agent를 어떻게 처리 하고 계신가요?