我正在编写一个 Django 应用程序,它使用 django-allauth 进行 Facebook 集成,并使用 django-tastypie 作为 iOS 应用程序的后端。iOS 应用程序将使用本机 Facebook iOS SDK。除了网站之外,我还希望能够从 iOS 应用程序注册和验证 Facebook 和非 Facebook 用户。
问题是 django-allauth 似乎没有可以从外部访问的 API。插入 allauth 功能的唯一干净方法似乎是通过 Django 模板标签。有没有办法可以公开此功能以与美味派一起使用?
Django-allauth 都是开源的,所以我尝试过解析代码。我最初的想法是在 iOS 端使用原生 Facebook SDK 对用户进行身份验证,然后手动填写 SocialAccount、SocialToken 的信息,并将 SocialAccount 添加到 SocialApp(这些都是 django-allauth 模型)。然而,这似乎是一个相当老套的解决方案。我想要一种在给定 Facebook ID 或类似的东西的情况下干净地创建所有这些模型的方法。
更新:在GitHub 上 有一些关于这个问题的讨论。基本上,还没有内置功能。我将创建一个只处理 Facebook 的自定义解决方案(因为这就是我在我的应用程序中使用的全部内容)。如果可行,我稍后会在这里发布我所做的。