폴드3 기종의 카카오톡 인앱 브라우저 Oauth 페이지에서 callback 페이지로 리다이렉트 되지 않습니다

제목 그대로 폴드 3 기종의 카카오톡 인앱 브라우저 Oauth 페이지에서 callback 페이지로 리다이렉트되지 않습니다. 인앱 브라우저만 그렇고 크롬브라우저로는 리다이렉트가 잘 됩니다.

안녕하세요~
확인을 위해 앱 ID 알려주세요~


앱ID
https://developers.kakao.com/ 의 내 애플리케이션>앱 설정>요약 정보 : 기본정보에 있는 앱 ID
숫자로된 ID 입니다~
ex) 123456

432360 입니다. 늦은답변 죄송합니다

폴드3 모델명 SM-F926N 으로 로그를 보니 카카오톡 인앱브라우저에서 인가 요청 후, 토큰 발급 이력이 있습니다.
기종의 문제는 아닐듯 한데요.

해당 기기의 날짜 설정이 어떻게 되어 있는지 확인 가능하신가요?
(현재 시간보다 미래로 설정되어 카카오 계정 페이지에서 인가 요청 넘어갈때 쿠키 만료된 상황인지 확인이 필요해보입니다.)

아… 기기의 날짜 설정은 잘 모르겠습니다. 근데 특별한 상황이 아닌이상 미래로 설정하진 않을텐데 유독 폴드3 기종에서만 6~7차례 이상 해당 사례가 발견됐습니다.

저희가 user agent를 분석해봤을 때 폴드3기종은 Version/4.0 Chrome/96.0.4664.45로, 다른 기기는 Version/4.0 Chrome/96.0.4664.45 Mobile 로 확인되던데 혹시 이에따른 이슈는 없을까요???

카카오 로그인 로그에 에러가 있는 상황이 아니라 상황을 유추하기 어려운데요.

폴드 기종에 따른 에러 리포팅은 접수받은 적이 없어서
해당 에러를 겪으신 분의 앱유저ID알려주시면 추가로 로그 분석 해보도록 하겠습니다.

제가 앱유저 id를 제대로 이해한 건지 잘 모르겠습니다만… 일단 드려보겠습니다.

앱유저id : 1653711882
테스트 일시: 2021/12/30 15:10~15:40

폴드3 폰에서 테스트 시 외부 브라우저로는 잘 되는데 역시 카카오톡 인앱 브라우저에서는 여전히 먹통되네요

안녕하세요.

기재해주신 앱유저ID와 테스트 일시로 로그확인을 해봤습니다.


  1. December 30th 2021, 15:25:11.871 /oauth/authorize 인가요청

폴드 SM-F926N 기종에서 카카오톡 인앱브라우저가 아닌 브라우저에서 요청하였고, 정상처리되었습니다.

User-Agent : Mozilla/5.0 (Linux; Android 12; 'SM-F926N') AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Safari/537.36

  1. 카카오 계정 로그인 페이지에서 로그인 후, 인가요청으로 넘어 왔음에도 사용자가 특정되지 않은 아래 인가 요청이 발견되었습니다.
December 30th 2021, 15:40:58.025	/oauth/authorize
December 30th 2021, 15:40:42.671	/oauth/authorize
December 30th 2021, 15:25:40.682	/oauth/authorize
December 30th 2021, 15:25:27.959	/oauth/authorize

카카오톡 인앱브라우저 요청이며 폴드 기종으로 아래 User-Agent에서 요청 입니다.

Mozilla/5.0 (Linux; Android 12; SM-F926N Build/SP1A.210812.016; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.1

일전에 답변 드린 것 처럼 쿠키 만료 상황 같은데요. (혹시, 테스트하신 기기 날짜설정 확인 가능하실까요?)

로그인 (인가요청) 구현부 코드블럭 공유 부탁드립니다.

const handleLoginUrl = () => {
  const REST_API_KEY = 'temp';
  const REDIRECT_URI = `${SERVER_URL}/auth/callback`;
  const LOGIN_URL = `https://kauth.kakao.com/oauth/authorize?client_id=${REST_API_KEY}&redirect_uri=${REDIRECT_URI}&response_type=code&prompt=login`;

  const sessionId = 'temp';
  const KAKAO_ACCESS_TOKEN = localStorage.getItem('kakao:access_token');

  if (!sessionId) {
    if (!KAKAO_ACCESS_TOKEN) {
      window.location.href = `${LOGIN_URL}&${STATE_URL}`;
    } else {
      window.location.href = `${REDIRECT_URI}?${STATE_URL}`;
    }
  }
};

로그의 두 경우가 제가 전에 말씀드렸던 첫번째는 인앱브라우저가 아닌 다른브라우저에서의 경우이고 두번째가 인앱브라우저의 경우입니다.
로그인 요청 보내는 코드를 첨부해 드렸습니다. 코드의 Key같은 경우는 temp로 대치해놓았습니다.
기기 날짜같은 경우는 테스트를 삼성 rtl 사용해서 테스트 했어서 해당 테스트 기기 날짜 설정 확인은 조금 힘들것 같고,
내일 다시 테스트 시도 후 기기 설정 공유드리겠습니다

기기 설정의 경우, 현재 시각으로 세팅되어있는것으로 확인되었습니다.

그렇군요. 상황을 유추하기가 어려운데요.

외부 변수를 제거하여 판단하기 위해

디벨로퍼스에서 제공하는 REST-API테스트 도구에 접속하셔서 표시한 아이콘 선택하여 소유하신 디벨로퍼스 앱 선택하고 토큰 발급해보시겠어요?

만약 정상 작동한다면, (1) 서비스측 로그인 구현의 문제이고
동일한 증상이라면, (2) 폴드3기종 문제로 내부 제보해야할 것 같습니다.

해당기종으로 카카오톡인앱브라우저에서 테스트 후, 테스트하신 시간 댓글로 알려주시면 내용 분석하여 대응 해보도록 할게요.

https://developers.kakao.com/tool/rest-api/open/get/v2-user-me
image

테스트 해보니 역시 크롬 브라우저에서는 작동하는데 카카오톡 인앱 브라우저에서는 작동 안합니다. 테스트 시각은 2021 01 05 18시경 로그 보시면 될것같습니다. 감사합니다

1월 5일 오후 6시 부터 7시 사이 인가 요청 로그를 확인해봤습니다.

그런데, 정상 처리된 이력이 있습니다.
아래 로그인 성공 이력으로 유추할때 기종의 문제나 카카오 로그인 기능상 문제는 아닌것으로 판단됩니다.

디벨로퍼스 테스트 도구에서 샘플앱으로 로그인할때는 정상 처리되나요?

https://developers.kakao.com/tool/rest-api/open/get/v2-user-me

16:18:03.376 /oauth/authorize 인가요청

  • User-Agent : Mozilla/5.0 (Linux; Android 11; SM-F711N Build/RP1A.200720.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.104 Mobile Safari/537.36;BizWebView;KAKAOTALK 2309610 ( 톡 인앱브라우저에 폴드 기종)

  • 리다이렉트 URI로 전달된 인가코드 YdwavQVVXfuMTgBxW2e5PASCHYgBQnjuNqlFDbFELqUhU0xdOtJa_xIcuvQms0cPWUKB9Ao9dJkAAAF-KRoZbQ

16:18:03.698 /oauth/token 토큰요청

  • 사용된 인가코드 YdwavQVVXfuMTgBxW2e5PASCHYgBQnjuNqlFDbFELqUhU0xdOtJa_xIcuvQms0cPWUKB9Ao9dJkAAAF-KRoZbQ
  • 발급받은 토큰 _ajDR9oAZfdxwzCdwQfhXTQ77******

16:17:12.106 /oauth/authorize 인가요청

  • User-Agent : Mozilla/5.0 (Linux; Android 11; SM-F711N Build/RP1A.200720.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.104 Mobile Safari/537.36;BizWebView;KAKAOTALK 2309610

  • 리다이렉트 URI로 전달된 인가코드 GB63E0ENqu62gdfmaqXkgfY4SNSQWGOdXXiQ6_JA6LuT3AnrnR7W9ei_hT4Y9UJAcCw3EAopcJ8AAAF-KRlRJA

16:17:12.390 /oauth/token 토큰요청

  • 사용된 인가코드
    GB63E0ENqu62gdfmaqXkgfY4SNSQWGOdXXiQ6_JA6LuT3AnrnR7W9ei_hT4Y9UJAcCw3EAopcJ8AAAF-KRlRJA
  • 발급받은 토큰 3S6VwNjD1JPxGspQbbpmQM5DRQ_o*******

음… 그런데 왜 카카오톡 인앱 브라우저만 이상동작이 있을까요? ㅜㅜ 주신 링크 접속 후 동일한 환경으로 “토큰 발급” 버튼 눌렀을 때, 일반 브라우저는 엑세스 토큰이 입력이 잘 됐는데 인앱 브라우저에서는 아무 동작도 일어나지 않았습니다. 혹시 토큰이 정상적으로 발급이 되었음에도 리다이렉트가 제대로 안됐을 가능성은 없을까요?

OAuth2 절차로 보면

인가요청하고-> 카카오측 로그인 및 동의창 (이미 연결되어있다면 인가처리만) → 리다이렉트 URI로 이동


리다이렉트 URI로 이동한 뒤, 소유하신 시스템에서 토큰 발급하기때문에 리다이렉트 안된 상황이라 보기는 어려울 것 같아요.

위에 기재한 두번의 로그인 로그는 카카오톡 인앱브라우저에서 처리된 로그라
정확히 어떤 상황에 문제발생하는지 유추하기 어려워서 상황을 재현한 영상이 있으면 좋을 것 같습니다.

해당 링크의 화면 기록을 보시면 웹 브라우저로 접근 시 토큰 발급이 정상적으로 되는데 카카오톡 인앱브라우저로 접근시 토큰 발급이 안됍니다.

안녕하세요.

영상 첨부 감사합니다.

정리해서 내부 문의하고 피드백 받는데로 공유 드릴게요.

@tae020117 확인해보니

JS-SDK팝업방식, authorize방식, REST-API방식 모두 Android 카카오톡 인앱브라우저에서 정상작동하고
디벨로퍼스 REST-API데모 토큰 요청만 해당 상황 재현됩니다. 이부분은 내부 문의중에 있습니다.

동영상 첨부해주신 기기로 아래 JS SDK 데모는 정상작동하는지 확인 부탁드려요.

Kakao Developers

해당 JS SDK 데모의 경우 잘 작동하는것같습니다

안녕하세요.

카카오톡 인앱브라우저에서 window.open으로 인가요청 시, 문제를 확인하였고 담당부서와 SDK담당자간 조치 방법 검토중입니다.

우선 [window.open하지 않고 사용하시거나](https://developers.kakao.com/docs/latest/ko/kakaologin/js#login) popup처리가 필요하신 경우 [JS SDK팝업방식](https://developers.kakao.com/docs/latest/ko/kakaologin/js#advanced-guide)을 사용해보시겠어요?

서버 긴급 배포되어서 이제 정상작동됩니다.
확인 부탁드려요.

@tae020117