KakaoLogin 토큰 관련 제가 이해한 것이 맞는지 확인 부탁드립니다

문의 시 사용하시는 SDK 버전 정보와 플랫폼(Android / iOS) 및 디벨로퍼스 앱ID를 알려주세요.


SDK 버전 정보 : kakao_flutter_sdk: ^1.6.1
플랫폼 : Android
디벨로퍼스 앱ID : 981695

안녕하세요. 카카오로그인을 처음 구현해보는 학생입니다.
문서를 읽어보는 도중 궁금한 점이 생겨서 문의드립니다.

아래 링크의 예시 코드처럼 개발을 진행 중에 있었습니다.
https://developers.kakao.com/docs/latest/ko/kakaologin/flutter#kakaologin-sample
그러다 토큰 유효성 검사가 필요할 것 같아 더 찾아본 결과 아래 링크의 코드를 발견했습니다.
https://developers.kakao.com/docs/latest/ko/kakaologin/flutter#token-presence

여기서 궁금한 것은

  1. 토큰 유호성 검사를 위해 첫 번째 링크와 두 번째 링크를 섞어서 써야하는 것인지
  2. token에는 token의 id값만 있고, 사용자의 정보는 UserApi.instance.me()에 들어있는 것으로 이해했습니다.그러면 totken은 사용자인지 확인만 하고, 유저 정보는 UserApi.instance.me()에서 받는 것으로 이해했는데 제가 이해한 것이 맞는지 궁금합니다.

안녕하세요.

첫번째 링크는 카카오 로그인 링크고, 두번째는 토큰 유효성 검사 입니다.
유효성 검사를 위해 서로 다른 두 기능을 섞어 쓰실 필요 없습니다.

다만, 유효성 검사가 실패인 경우, 서비스측 필요에 따라 로그인 기능을 사용하시면 됩니다.

보통 서비스측 인가(ex 세션) 유효 시간과 카카오의 접근토큰의 만료시간은 다르게 구성하기에 종종 서비스측에서 카카오 API사용 시 사용자의 접근 토큰이 만료된 상황이 올수 있습니다.

이 때를 방지하기위해 토큰 유효성 검사를 통해 한번 더 로그인 하도록 할 수 있습니다.
하지만 유효성 검사가 필수는 아닙니다.

유효성 검사를 통해 로그인 기회를 제공하기도 하지만, API 사용 시, 401 오류를 확인하여 로그인 기회를 제공하기도 합니다.


토큰 정보 보기 기능은 토큰이 어떤 사용자에게 발급된 것인지 식별하기 위해 id 값만을 같이 전달 드리기에, 사용자의 개인정보는 사용자 정보 가져오기를 통해서만 확인할 수 잇씁니다.

그러면 제가 지금
카카오로그인 버튼을 누르면 토큰여부 검사를 하고,
토큰이 있으면 넘어가고, 만료 됐거나 없으면 로그인을 하게 구성을 했습니다.

그리고 추가로 토큰을 이용하여 자동로그인을 구현하려고 합니다.
이렇게 구성해도 문제가 없을까요?

추가로 토큰이 갱신되면 아이디값이 변하는 지도 궁금합니다.

로그인 버튼이 언제 노출되는지에 따라 다를것 같습니다.

로그인 버튼은 언제 노출될까요?


추가로 토큰이 갱신되어도 id는 불변합니다.

현재는
앱 실행 시 로그인페이지가 뜨며 로그인페이지에서 로그인 버튼이 노출됩니다.

자동로그인으로 코드 수정 시에는
앱 실행 시 토큰 유효성 검사를 하고
토큰이 유효하면 홈페이지로,
토큰이 만료 됐거나, 없으면 로그인 페이지(로그인버튼 노출)로 구성하려고 했습니다.

자동로그인 이렇게 해도 괜찮을까요?

안녕하세요.

서비스의 로그인 수단이 카카오 로그인만 존재하는 것으로 보입니다.
이 경우, 말씀하신바와 같이 구성 하셔도 무방하십니다.

답변 감사합니다!