我可以以未注册用户身份登录 Facebook 吗? (Django,全授权)

Can I login in with Facebook as an unregistered user? (Django, all-auth)

我正在构建我的 Django RESTful 框架来检索和 post 移动数据。我正在使用 djang-rest-auth(它只是具有 RESTful 功能的所有身份验证;更多信息:http://django-rest-auth.readthedocs.io/en/latest/)。

问题:我不清楚所有身份验证中的社交身份验证。你能完成这个用例吗?

用例:未注册用户

  1. 用户在移动设备上使用 Facebook 登录
  2. 移动设备从 Facebook SDK 获取 facebook 令牌
  3. 移动设备将令牌发送到我们的 DRF 后端服务器 URL,即“/rest-auth/facebook”
  4. 然后会发生什么?你能完成这个用例吗? <- 这是我的问题

我的猜测:

是的,你是对的。收到 facebook 令牌后,Django 将创建 SocialAccount 实例,其中包括后端名称(在您的情况下为 facebook)和用户的 facebook id。此实例将通过 ForeignKeyAUTH_USER_MODEL 关联,因此当用户下次尝试登录时,Django 将通过指定的 facebook id 和 return 找到 SocialAccount 相关 AUTH_USER_MODEL实例。