카카오 javascript SDK를 이용한 로그인 시 throughTalk 옵션 동작

안녕하세요.

카카오 javascript SDK를 이용해서 카카오 로그인을 사용하고 있습니다.
로그인 요청 시에 무조건 카카오톡을 통해서 로그인이 되는 문제가 있어서, throughTalk 이 옵션을 줘서 다른 계정으로도 로그인 가능하도록 하고 싶습니다. (https://developers.kakao.com/sdk/reference/js/release/Kakao.Auth.html#.login)

그래서 제가 지난 금요일인 3월 11일에 해당 옵션을 false로 셋팅한 뒤에 로그인 시도를 해보았는데,
File
이와 같이 카카오톡으로 로그인하기와 계정정보로 로그인할 수 있는 두가지 방법이 나왔었습니다.

헌데, 오늘 다시 시도해보니,
File (1)
이와 같이 계정으로만 로그인이 가능했습니다.

첫번째 캡쳐화면처럼 카카오톡 로그인과 계정 로그인이 함께 있는 페이지로 랜딩되길 원합니다.
throughTalk 옵션 이외에 더 추가해야하는 옵션이 있나요?
지난 금요일과 동작이 다른것도 이상합니다. 그 사이에 업데이트 된 사항이 있나요?

안내 부탁 드립니다.

안녕하세요.
throughTalk:false 옵션은 카카오 로그인 시, 카카오톡앱으로 간편로그인을 하지 않겠다는 옵션이구요.
계정 로그인 페이지에 카카오톡으로 로그인 버튼 표시여부와는 무관합니다.

계정 로그인 페이지에 카카오톡으로 로그인 버튼 표시는
카카오톡 톡 설치여부, 간편로그인을 지원하지 않는 환경 (앱내 웹뷰)에 따라 표시가 안될 수 있는데요.

JS SDK이용하여 카카오톡앱으로 간편 로그인 하지 않고 카카오계정 페이지로 진입하는 경우 '카카오톡으로 로그인하기’는 제공하지 않도록 어제 배포되었어요.

만약 고객에게 선택권을 주고 싶으시다면, throughTalk 옵션에 따른 버튼을 각각 두어 서비스측에서 제공하는 방법도 있을 것 같습니다.

답변 감사합니다.

이전처럼 throughTalk 옵션을 주었을 때, 카카오톡이 설치되어있는 폰에서는 ‘카카오톡으로 로그인하기’ 버튼이 제공되는 형태가 더 좋았던 것 같은데 아쉽습니다.

이 부분을 서비스단에서 직접 구현하려면, 실제로 카카오톡이 설치되어 있는지 확인이 필요할 것 같은데요.
모바일 웹브라우저에서 카카오톡이 설치되어있는지 확인 할 수 있는 방법 가이드 부탁드립니다.

모바일 웹브라우저에서 카카오톡 설치 여부는 알 수 없구요.

"카카오톡으로 간편 로그인"
: throughTalk는 기본 true이므로 authorize 함수 호출 시, throughTalk 파라메터 생략해서 호출하시고(톡이 없다면 계정으로 하도록)

"카카오 계정으로 로그인"
: throughTalk:false, prompts:‘login’ 파라메터를 설정하시면, 항상 계정 로그인 페이지가 떠서 ID/PW방식으로 로그인 할 수 있습니다.

버튼 두개를 두시려면 이렇게 부탁드려요.

한가지 더 문의 드립니다.

확인해보니, 현재 사람인 서비스에서 모바일 웹은 카카오톡로그인과 계정로그인이 함께 보이는 이 화면이 여전히 나오고 있습니다.
File

해당 화면에서 카카오톡으로 로그인 버튼이 아예 사라졌다고 하셨는데, 사람인쪽에서는 어떻게 나오고 있는건지 알 수 있을 까요?

  • 사람인 카카오로그인 페이지 url
    https://accounts.kakao.com/login?continue=https%3A%2F%2Fkauth.kakao.com%2Foauth%2Fauthorize%3Fdisplay%3Dpage%26response_type%3Dcode%26redirect_uri%3Dhttps%253A%252F%252Fm.saramin.co.kr%252Fkakao_oauth.php%26state%3D4-01e4b6d4cac61af4975c609ab97e6b3d%26client_id%3Da48c346f49496ed2****

  • 저희 서비스의 카카오톡 로그인 url
    https://accounts.kakao.com/login?continue=https%3A%2F%2Fkauth.kakao.com%2Foauth%2Fauthorize%3Fis_popup%3Dfalse%26ka%3Dsdk%252F1.41.1%2520os%252Fjavascript%2520sdk_type%252Fjavascript%2520lang%252Fko-KR%2520device%252FLinux_aarch64%2520origin%252Fhttps%25253A%25252F%25252Flocal.hogangnono.com%26auth_tran_id%3D45q6zro3e4925651f92b20660cf5054aebc08daaeb2l0vsp6zn%26response_type%3Dcode%26redirect_uri%3DJS-SDK%26client_id%3D25651f92b20660****2&talk_login=hidden

두 url을 비교해보면 talk_login=hidden 이값이 저희쪽에서만 박힙니다.

넵. 위에서 안내드린 것 처럼.

JS SDK이용하여 카카오톡앱으로 간편 로그인 하지 않고 카카오계정 페이지로 진입하는 경우

SDK내부에서 그렇게 처리 하고 있습니다.

사람인의 경우 REST-API방식 인가요청이라 버튼이 표시되는 것으로 보입니다.

참고 부탁드려요.

@tim.l 인스타그램 자체 브라우저같이 guest/incognito 브라우저 에서는 핸드폰에 카카오톡 어플이 깔려져 있는 것과 무관하게 Kakao JS SDK 를 사용시 무조건 email/password 를 일일이 입력해야하는 불편함이 있습니다.

talk_login=hidden 을 Kakao JS SDK 를 사용하더라도 안나오게 할 수 있는 방법이 이제는 있는지 궁금합니다.

안녕하세요. @bosung90

페이스북 및 인스타그램 인앱브라우저에서 JS SDK authorize 호출 시,
올해 3월 부터 카카오톡 앱이 호출안되는 상황이 있었고
분석해보니 인텐트 스킴 표준 스펙에서 HOST/URI-path 는 생략 가능하나 생략한 경우 페이스북 및 인스타그램 인앱브라우저에서 에러 처리 하는 것으로 확인되었습니다.

관련하여 안내 했으나 반영되지 않아
페이스북 및 인스타그램 인앱브라우저는 고객 편의상 카카오 계정로그인으로 대체되었습니다.

이는 페이스북 및 인스타그램 인앱브라우저 지원 상황에 따라 의도적으로 처리된 내용입니다.


이번에 런칭된 JS SDK v2에 HOST/URI-path를 포함한 인텐트 스킴을 사용하는 것을 고려했지만, 해당 인텐트 스킴을 사용하지 않는 카카오톡앱 버전 사용자가 많아 기존 방식 유지 하는 것으로 결정했습니다. 추후, 변경사항이 있는 경우 공지 드리도록 하겠습니다.

감사합니다.