Django로 구성한 RESTful API 서버와, 이를 사용하는 여러 클라이언트(웹, 안

 
ChangHyun Lee

Django로 구성한 RESTful API 서버와, 이를 사용하는 여러 클라이언트(웹, 안드로이드앱, iOS앱)로 구성된 서비스에서 Oauth를 제공하는 각종 SNS 계정을 통한 Authentication을 제공하려고 합니다.

이와 관련되서, 서버와 클라이언트의 역할분담이나, 서버 아키텍쳐 등에 대해 잘 정리된 자료를 알고 계시다면 추천받고 싶습니다.

본래 계획은 Oauth 프로세스는 모두 클라이언트에게 시키고, 서버에서는 아래 2가지 API 정도만 구현하려고 했습니다.

1) 가입을 희망하는 유저가 기입한 정보와, Oauth access token 값을 클라이언트가 보내면, 이를 가지고 Django User 모델의 instance와 (이를 참조하는) Django REST Framework의 Token 모델의 instance를 생성하는 API.
2) access token이 완료되었음을 클라이언트가 확인해서 갱신요청해서 새롭게 받은 new access token과, 기존의 old access token을 보내면, 이를 가지고 기존의 Token instance를 갱신하는 API.

그러나 몇가지 가능한 시나리오를 떠올리다보니, 이런 구현에서는 문제될법한 시나리오가 있어서 현재 머릿속 구상이 꼬인 상황입니다. 제가 고민하기보다는, 미리 잘 정립된 가이드가 있지 않을까 싶어 여쭤봅니다.

  • Jaehoon Jay Choi

    사용자가 보낸 페이스북 정보가 맞는지 서버측에서 다시 확인하고 가입시켜야 하지 않을까요?

    Donghyun Cho

    Api 서버에서는 일반 token auth를 쓰면 될 것 같고, django-social-auth 같은걸로 SNS auth를 쓰면 원하시는 기능을 구현할 수 있을 것 같아요.

Advertisements