我正在构建一个Django-tastypie服务器来与移动客户端进行通信。为了登录Django服务器,用户必须首先在移动客户端登录他的Facebook帐户。在移动客户端获取accessToken和facebook id之后,它将使用facebook_id(作为userName)和accessToken将AuthResouce发布到Django服务器。
在AuthResource的obj_create
中问题是我不知道
class UserResource(ModelResource):
def get_object_list(self, request, *args, **kwargs):
return User.objects.filter(username=request.user.username)
class Meta:
queryset = User.objects.all()
resource_name = 'auth/user'
excludes = ['email']
authentication = ApiKeyAuthentication()
authorization = Authorization()
models.signals.post_save.connect(create_api_key, sender=User)
def determine_format(self, request):
return "application/json"
class AuthResource(ModelResource):
class Meta:
queryset = AuthInfo.objects.all()
resource_name = "auth"
authentication = Authentication()
authorization = Authorization()
def obj_create(self, bundle, **kwargs):
userId, accessToken = bundle.data['userId'], bundle.data['accessToken']
user = User.objects.filter(username=userId)
if not user:
user = User.objects.create_user(username=userId)
else:
bundle.obj = AuthInfo.objects.create_auth(userId, accessToken)
return bundle
def determine_format(self, request):
return "application/json"