作为未注册用户,我可以使用Facebook登录吗? (Django,all-auth)

问题描述:

我构建了我的Django RESTful框架来检索和发布移动数据。我使用的是djang-rest-auth(它只是具有REST功能的全部认证;更多信息:http://django-rest-auth.readthedocs.io/en/latest/)。作为未注册用户,我可以使用Facebook登录吗? (Django,all-auth)

问题:在所有auth中的社会认证对我而言并不清楚。你能完成这个用例吗?

使用案例:未注册用户

  1. 用户登录与Facebook在移动
  2. 手机获得Facebook的令牌从Facebook SDK
  3. 手机令牌发送给我们的是“/休息 - DRF后端服务器URL auth/facebook'
  4. 然后会发生什么?你能完成这个用例吗?< - 这是我的问题

我的猜测:

  • 所有-auth的自动创建的Facebook用户新用户令牌,并返回新的令牌?
  • 然后,它将创建的用户保存到settings.AUTH_USER_MODEL?要么...?
  • 我在Django admin中找到'social account'。我们是否将用户保存在此帐户中?

是的,你是对的。在收到Facebook令牌后,Django将创建包含后端名称(您的情况下的facebook)和用户的Facebook ID的SocialAccount实例。这个实例将通过ForeignKeyAUTH_USER_MODEL相关,所以当下一次用户尝试登录时,Django将通过指定的facebook id找到SocialAccount并返回相关的AUTH_USER_MODEL实例。

+0

嗨。我从Facebook收到令牌并发送带有token的POST请求作为'access_token'。我得到400错误...任何想法?我在这个问题上存在了很长时间。 –

+0

@JohnBaek抱歉,我没有任何想法。你可以发表更多的细节问题吗? – neverwalkaloner

+0

当然。谢谢。这个问题我已经有一周了。 –