2

我被要求为我正在创建的 iOS 应用程序提供“使用 Facebook 登录”功能。该应用程序连接到使用 Piston 创建的 REST api,Web 应用程序使用 Django 创建并使用 social_auth。该应用程序还有一个 Facebook 登录。

我的想法是创建一个服务“FBLogin”,仅提供 Facebook 个人资料 UID(iPhone 上的单独 FB 登录程序以获取 ID)。使用 SocialAuth 模型,我可以使用 uid 和提供者查询数据库以获取用户...但是我如何使用身份验证机制来验证此用户实例?

有什么想法可以做到这一点吗?这感觉不太好......让用户实例通过身份验证是一件痛苦的事情......

用户名密码认证已经实现......没有问题。

顺便说一句,没有 django 经验……确实有很多其他开发经验,所以理解 python 和 django 并不难:)

发送 Y

4

1 回答 1

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格式格式化而言,这些都是特定于供应商的

于 2012-07-03T17:49:40.517 回答