카카오 로그인 for client
이 페이지는 클라이언트 분들을 위한 카카오 로그인 가이드입니당

자 자 여기서 우리가 알아야 할것은!
카카오 로그인에는 안드로이드와 ios에게 기본으로 제공하는 SDK가 있고 REST API로 제공하는 것이 있습니다. SDK 같은 경우는 여러분들이 서버 없을때 많이 사용하신다거나 그랬을 겁니다!
저는 이게 서버가 없을 때 사용하는 것이라고 생각하고 REST API 위주로 알아봤던 건데...
그리고 REST API 기본 자체는 구현을 한 상태긴 합니다!
그런데 뭔가 찜찜해서 더더더더 알아보는 중에...!!
SDK와 REST API 의 차이점을 확실히 알게 되었습니다.
SDK 같은 경우는 위사진에서 1~7까지를 모두 클라이언트에서 합니다. 이럴 경우는 받으신 사용자 정보를 저한테 따로 보내주시면 제가 그걸 DB에 넣는다거나 하는 식이 되겠죠? 대신 SDK자체가 많은 것을 지원해주기 때문에, 로직자체는 클라이언트가 구현해야겠지만 기본적인것은 카카오에서 디해줍니다.
REST API는 토큰 받기, 사용자 토큰 발급 등을 직접 수행해야합니다. 그렇기 때문에 서버 중심으로 기능 구현을 하려면 REST API를 사용하는 걸 권장한다라는 카카오측 답변을 봤습니다.
결론은 REST API와 SDK 둘 중 어떤걸을 택할거냐를 정해야하는데...
제가 둘을 사용할 경우 달라지는점은!
- REST API
서버 쪽에서 통제가 가능하다...?
But, 자체 서버, 제가 직접 만드는거라 로직자체에서 오류가 날 수도 있다.
이 경우, 1~5를 클라이언트에서 구현하고 마지막에 accessToken만 보내주면 그때 서버에서 회원가입해서 accessToken, refreshToken , 사용자정보(필요시) 보내준다.
- SDK
카카오에서 직접 하기때문에, 로그인 자체기능이 안전하다.
But, 혹시나 나중에 카카오에 추가정보가 필요할 경우 Token들을 저장하고 있어야하는데 자체 서버에서 제공하는 refreshToken도 가지고 있어야한다.
이 경우, 마지막에 사용자 정보(근데 이메일말고 사용자 id?있던데 그것도 같이)만 보내주면 제가 DB에서 저장하고 문제없으면 accessToken, refreshToken , 사용자정보(필요시) 보내준다.
한번 sdk 검색하시면서 생각해 주시면 감사하겠습니다..!
아래는 1번일 경우 클라이언트쪽에서 해야할 부분입니다!
1번
위의 URL 을 카카오로그인버튼에 연결해 웹으로 띄워주세요!
2번
1번을 하고 제공을 하고 넘어갈 경우,
와 같이 URL이 생깁니다. 해당 URL이 되는지 안되는지와는 별개로 ‘code= ‘의 뒷부분! 즉, 코드를 파싱해주세요!(QueryString 이라는 것이 있던데 도움이 될지 모르겠네요..!) (또한 이 코드부분은 할때마다 달라지는 코드입니다!)
3번
위에서의 코드를 아래 “code”부분에 예시와 같이 넣어주시면됩니다!
위에 있는 링크로 {} 부분을 POST 형식으로 보내주시면 끝!(위에서 변경할부분은 code부분밖에 없습니다! 다른 부분들은 개인키 부분이니까 여러분들이 저장하시면 지우겠습니다!



위에서 access_token부분을 저장해주시고!
4번
그걸 저한테~! 보내주시면 됩니다! 해당 API는 swagger에서 보실게요!
(참고로 이게 안뜬다...? 서버오류가 걸린것이므로 저한테 바로 말씀해주시면 감사하겠습니다..!)
아무튼 여기까지 읽어주시느라 너무 고생하셨고 너무 늦어진 점 죄송합니당ㅠㅠㅠㅠㅠ 뭐가 맞는거지에 대해 계속 파고 들다보니 오래걸렸네요ㅠㅠ 얼른 로그인 처리하고 저희 자체 API만들고 싶네요.... 아무튼 감사합니당~
참고자료들
등등등...