Flutter kakao login 이슈

IOS에서 테스트 중이고 kakao_flutter_sdk는 pub.dev기준 최신버전 사용중입니다.

제가 고민하고 있는 이슈는 네이티브 방식으로 로그인을 성공하고 accessToken까지 잘 받아왔으나 그 토큰 값을 이용해 backend서버에 get해올때 Authorization을 하려고 Http Header에 그 토큰값을 넘겨주는데 Unauthorized 이슈가 발생합니다. 어떻게 해결하면 될까요…?

SDK에 카카오톡과의 교신을 일임하고 백엔드에는 조회된 사용자 정보만 전달하시는게 어떨까요?

웹 앱 통합 백엔드 api를 짜려고 하는데 웹이랑 같은 api를 쓰려고 하다보니 웹에서는 rest api형식으로 로그인을 하기에 토큰을 다 웹과 백엔드 공유해서 따로 unauthorized이슈가 발생하지 않으나 앱은 sdk로 카카오톡에서 토큰을 받아와 백엔드에 그 토큰을 사용하니 unauthorized이슈가 뜨는것같은데 이럴때는 앱api따로 웹api따로 개발해야 하나요? 통합하는 방법은 따로 없을까요…?

카카오 flutter SDK는 웹도 지원하므로 위에서 말씀드린 것 처럼 SDK에 카카오톡과의 교신을 일임하고 백엔드에는 조회된 사용자 정보만 전달하는 것을 추천합니다.

이미 웹과 REST-API방식 카카오 로그인 백엔드가 구축되어 있는 상황인가요?

네 웹은 이미 리액트로 구축되어있는 상황이라 그렇습니다

백엔드 API를 그대로 활용하시려면 앱내 웹뷰로 로그인을 구현하시는 방법이 있고, 실제로 그렇게 구현하는 경우도 있긴한데요.

그래도 네이티브앱에서는 SDK를 통해 카카오와 교신하는 것을 추천합니다.
아래와 같이 두단계로 기능을 나눈다면

(1) 카카오와 교신 -> (2) 회원가입

네이티브앱에서는 (2) 회원가입을 호출하는 형태로 구현하시는게 가장 코드가 깔끔할 것같습니다.

참고부탁드리며, 현실적으로 적합한 방식 선택하시면 좋을 것같아요.

넵 바쁘신 와중에도 답변 달아주신점 감사합니다 ! 혹시 SDK를 통해 카카오 교신을 추천하시는 이유를 알고싶습니다!

웹은 일반적으로 오픈되어 도메인만 알면 누구나 접근가능합니다. 그래서 카카오와 교신을 백엔드에 일임하여 액세스토큰이 노출되지 않도록 구현하는 것을 권장합니다.

앱은 개인 모바일 기기에 설치되어 일반적으로 단독사용하게됩니다. 메모리에 static하게 사용해도 동시성 문제가 없습니다. sdk에 일임하면 별도로 api호출부 구현필요없이 함수호출과 객체반환으로 편리하게 사용할 수 있어 추천드린 것이었습니다.

그밖에 카카오로그인과 같은 oauth2방식 소셜로그인은 302리다이렉트로 인가코드반환을 구현해야하는데 이부분도 네이티브앱에서 sdk가 편리하게 사용하는 것을 돕습니다.

안녕하세요! 혹시 그러면 플러터에서 SDK를 통해 받은 accesstoken을 백엔드에서도 검증할 수 있는 방법이 있을까요? 바로 백엔드에 조회된 사용자 정보만 전달하기에는 보안상 이슈가 있을 것 같아 질문드립니다!

안녕하세요.
backend로 데이터를 전송하실때 https 프로토콜을 사용하시고, 전송되는 데이터를 추가로 암호화 하셔도 좋습니다.

(1) client에서 액세스토큰 발급 시점에 backend에서 jwt를 발급받아 pair로 전달하여 유효한 토큰전달인지 확인하시는 방법이 있고
(2) 카카오로그인 oidc 스펙을 추가로 활성화해서 액세스 토큰 발급시점에 같이 전달받은 id_token을 backend에서 검증하는 방법이 있을것 같습니다.

이해하기 | Kakao Developers 이해하기

1개의 좋아요