카카오 소셜 로그인을 구현하면서, 키 선택에서부터 난관에 봉착했다.
아무 키나 쓰면 안되고 내가 구현하려는 서비스의 성격과, 환경을 고려하여 선택하고 그에 따라 구현되는 카카오 로그인의 형태가 많이 달라지는 것을 알았다.
나는 이 부분이 뭔가 구체적으로 이해되지 않아서 공부하면서 정리해보려 한다.
- 네이티브 앱 키: Android, iOS SDK에서 API를 호출할 때 사용합니다.
- JavaScript 키: JavaScript SDK에서 API를 호출할 때 사용합니다.
- REST API 키: REST API를 호출할 때 사용합니다.
- Admin 키: 모든 권한을 갖고 있는 키입니다. 노출이 되지 않도록 주의가 필요합니다.
우선 카카오 개발자 홈페이지에서 기재해둔 설명이다.
1. 네이티브 앱 키 : 이건 네이티브 즉, 아이폰이면 아이폰 안드로이드면 안드로이드! 각 모바일에 특성화가 되어있는 것이 네이티브앱이다. 즉 ios -> swift 언어 / 안드로이드->kotlin 언어 / 혹은 (expo를 쓰지 않는) react-native 혹은 flutter같은 하이브리드 앱에서 사용해야하는 키이다. 해당 키는 SDK 설정 등 별도의 방법이 있고, 이를 통해서 앱 -> 앱 이렇게 서로 통신이 가능하다.
가령 우리가 앱에서 카카오 로그인을 하려 할때, 카카오 앱 자체를 열게 하는 것이다.
실제로 RN에서는 자체적으로 라이브러리까지 있을 정도로 잘 정리 되어있다.
해당 방법은 기존에 우리가 PC에서 진행했던 소셜로그인 방식이 아닌, 프론트 사이드로 진행되는 소셜로그인으로, DB에 데이터를 저장하는 방식 외에 모든 것이 client에서 진행된다.
2. javascript 키 : 이는 웹에서 앱을 부르려 하는 것이다. 보통 모바일 웹에서 해당 방법을 사용하며, 웹 -> 앱 통신 방법이다.
여기서 핵심은 RN이더라도 expo를 쓴다면 네이티브 SDK를 지원하지 않아서 굳이 SDK를 통해서 앱과 깔끔하게 통신하고 싶다면 해당 방법을 써야 한다.
이 또한 SDK로 구현되는 것이라 프론트 사이드의 소셜로그인 코드가 구현되어야 한다.
참고 링크
medium.com/@gale.lee/expokit-a70ce2724768
devtalk.kakao.com/t/react-native-expo/62769
3. REST API키 : 흔히 우리가 아는 소셜로그인 구현 방식이다. 웹 -> 웹 통신이다.
'SW Engineering > Dev' 카테고리의 다른 글
What is HTTP? (0) | 2021.01.16 |
---|---|
Django vs Flask / React (0) | 2021.01.04 |
소셜로그인기능 구현(2)_github social 로그인 (0) | 2020.11.27 |
소셜로그인 구현하기(1)_그 원리와 절차에 대해서 (0) | 2020.11.27 |
Git 에러: refs/heads/master 해결하기 (0) | 2020.11.10 |