我被要求提供一个"登录Facebook"我正在创建的iOS应用程序的功能。 该应用程序连接到使用Piston创建的REST API,Web应用程序使用Django创建并使用social_auth。该应用程序还有一个Facebook登录。
我的想法是创建一项服务' FBLogin'仅提供Facebook个人资料UID(在iPhone上单独的FB登录程序以获取ID)。使用SocialAuth模型我可以使用uid和provider查询数据库以获取用户...但是如何使用身份验证机制来验证此用户实例?
关于做到这一点的任何想法? 这只是感觉不好......让用户实例经过身份验证是一件痛苦的事情......
用户名密码验证已经实施......没有问题。
是的,没有django经验......确实有很多其他的开发经验,所以理解python和django并不是那么难:)的Tx ÿ
答案 0 :(得分:1)
在任何地方似乎都没有记录,但您可以在REST处理程序中执行此操作:
from social_auth.backends.pipeline.social import associate_user
from social_auth.backends.facebook import FacebookBackend
from social_auth.models import UserSocialAuth
myextra_data = {
'access_token' : 'jfkdlfsdgeyejfghfdsjdfpoweipuo',
'id' : 123456789,
}
usa, created = UserSocialAuth.objects.get_or_create(provider = 'facebook',
uid=123456789)
usa.user = user
usa.extra_data = myextra_data
usa.save()
if created:
associate_user(backend=FacebookBackend, user=user, uid=usa.uid)
这些在extra_data
中如何格式化数据方面具有特定供应商特定性,因此YMMV