gpt4 book ai didi

python - 将 django-allauth 与 tastypie 一起使用的正确方法是什么?

转载 作者:太空狗 更新时间:2023-10-29 17:51:30 25 4
gpt4 key购买 nike

我正在编写一个 Django 应用程序,它使用 django-allauth 进行 Facebook 集成,并使用 django-tastypie 作为 iOS 应用程序的后端。 iOS 应用程序将使用 native Facebook iOS SDK。除了网站之外,我还希望能够通过 iOS 应用程序注册和验证 Facebook 和非 Facebook 用户。

问题是 django-allauth 似乎没有可以从外部访问的 API。插入 allauth 功能的唯一干净方法似乎是通过 Django 模板标签。有没有办法公开此功能以与 tastypie 一起使用?

Django-allauth 都是开源的,所以我尝试解析代码。我最初的想法是在iOS端使用原生的Facebook SDK对用户进行身份验证,然后手动填写SocialAccount、SocialToken的信息,并将SocialAccount添加到SocialApp中(这些都是django-allauth模型)。但是,这似乎是一个非常棘手的解决方案。我喜欢一种方法来干净地创建所有那些给定 Facebook ID 或类似东西的模型。

更新:有一些discussion关于这个问题 GitHub .基本上,还没有内置功能。我将创建一个只处理 Facebook 的自定义解决方案(因为我在我的应用程序中只使用了它)。如果可行,我稍后会在这里发布我所做的事情。

最佳答案

快速查看 django-allauth 表明他们正在使用 SocialAccount 模型来保存有关特定身份验证方法和社交帐户类型的数据。

您需要创建一个基于 SocialAccount 模型的 API 端点。您需要向那里传递变量,例如:帐户类型(facebook、本地、twitter 等)、社交身份验证提供程序所需的其他身份验证变量。然后,在您的代码中,您可以创建 SocialAccount 模型实例,提供从 API 端点调用接收的数据并通过 django-allauth 触发相应的 auth 调用。最后你应该返回你的授权调用的结果。

我不认为仅将 django-allauth 用于本地/Facebook 身份验证有什么大的理由,通过一些小的努力,您可以拥有整个范围的社交身份验证提供程序。

关于python - 将 django-allauth 与 tastypie 一起使用的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18215190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com