그동안 프로젝트를 하기 위해 무지성으로 oauth2를 써왔다.
로그인, 회원가입, 뭐 이런 기능들은 기존 서비스가 이미 있다면 또 할 일이 거의 없겠지만...
나는 운(?)이 좋게도 oauth부터 손볼 수 있게 됐다.
플러터 공홈에도 Firebase는 뗄 수 없는 baaaaassss인거같은데 우리 서비스에서도 그걸 사용할 지는 잘 모르겠다. 아마 aws를 쓰지 않을까?? 일단 s3는 쓴다고 들었음.
파이어베이스(그리고 비슷한 서비스들에서도)는 많은 작업을 손쉽게 만들어주기 때문에, 파이어베이스에 의존하는 것은 나에게 큰 도움이 되지 않을 것으로 생각된다. 그래서 이제 실무에서 쓰게 되었으니 이 부분에 대해서 더 잘 이해하고 구현해야겠다는 생각이 들었다.
구현하는 방법 자체는 찾아보면 다 있기도 하고, 이미 해본 것도 있고.
내가 진행했던 sns 로그인 구현 과정은 아래와 같다.
1. 카카오 디벨로퍼 페이지에서 내 앱을 등록한다.
1. 유저가 sns 로그인 버튼을 누른다.
2. 이것들은 각 회사에서 서비스를 제공한다.
* 각 회사의 로그인 페이지로 리다이렉트된다.
3. 유저가 리다이렉트된 로그인페이지에서 로그인한다.
4. 인증 정보가 리턴된다.
5. 정보들을 기기, 서버에 연동한다.
Authorization Code를 발급해 리다이렉트 url으로서 전달Authorization Code를 가지고 카카오에 Access Token 요청Access Token 발급받는다.Access Token 발급받는다.Access Token을 내 서버에 전달한다.Access Token으로 사용자 맞는지 카카오에 확인결론적으로 RestAPI, 네이티브 앱 방식의 차이점은 Authrization Code 관련 로직이 필요한가에 대한 것이다.
우리 서비스는 웹은 따로 개발이 진행되니 나는 네이티브 앱 방식으로 진행하면 될 것 같다.
이전에 내가 구현했었던 카카오 로그인 방식은 REST API 방식이었다.
카카오로그인 뿐 아니라 애플로그인, 페이스북로그인, 네이버로그인 과정에 대해서도 더 잘 이해하고 구현하는 데 도움이 될 것 같다.
두 방식이 어떻게 다르고 어떤 방식으로 이루어지는지 알았으니, 다음엔 네이티브 앱 키로 로그인 시도를 해봐야겠다.
너무 잘 정리해줬고, 네이티브와 REST API 방식의 차이를 실제 구현과 연결해서 고민해본 흔적이 보여서 좋아. 지금처럼 실무에서 써야 할 타이밍에 이런 개념들을 정리하고 제대로 짚고 넘어가는 게 진짜 실력으로 이어지는 부분이야. hctra org