Python Twitter/Tweepy-OAuth-如何保存OAuth_令牌以在REST API设置中的回调中验证它

Python Twitter/Tweepy-OAuth-如何保存OAuth_令牌以在REST API设置中的回调中验证它,python,django,twitter,django-rest-framework,tweepy,Python,Django,Twitter,Django Rest Framework,Tweepy,我正在使用RESTAPI设置编写一个简单的Twitter身份验证流。客户端只是简单的javascript/Vue代码,没有服务器端呈现。这将使用Django REST框架构建的后端REST API,使用tweepy库包装Twitter API 我已通过以下步骤进行身份验证: 用户单击“登录到twitter”按钮,该按钮触发对我的后端API/get url的调用/ API调用Twitter的get_authorization_url(使用我的Twitter应用凭据),获取令牌,并将此重定向url返

我正在使用RESTAPI设置编写一个简单的Twitter身份验证流。客户端只是简单的javascript/Vue代码,没有服务器端呈现。这将使用Django REST框架构建的后端REST API,使用tweepy库包装Twitter API

我已通过以下步骤进行身份验证:

  • 用户单击“登录到twitter”按钮,该按钮触发对我的后端API/get url的调用/
  • API调用Twitter的get_authorization_url(使用我的Twitter应用凭据),获取令牌,并将此重定向url返回给客户端
  • 客户端将用户重定向到Twitter URL以完成身份验证
  • 在回调时,客户端将所有参数传递给后端API端点
  • API获取令牌和秘密;创建具有用户身份验证的tweepy API;和呼叫验证您的凭据
  • 如果一切正常,我们将在Django数据库中创建一个与Twitter用户绑定的用户帐户,存储他们的令牌和秘密;使用JWT登录用户;并使用令牌返回200成功
  • 前端处理JWT令牌刷新等;但在其他情况下,将其用于API其余部分的身份验证
  • 然而,有一点让我感到困惑:Twitter文档建议在我的第2步中,我应该保存request_令牌,以便在第5步中,我可以检查它是否与Twitter API()返回的内容匹配

    tweepydocs示例()建议将其存储在会话中,然后在回调时检查它们并从会话中删除

    然而,在像我这样的RESTAPI设置中,这是没有意义的(至少对我来说)。如何将此令牌临时存储在服务器上,以便在回调时检查其值,这让我感到困惑——在重定向之前,我对要将此令牌“绑定”到的用户一无所知,数据库中没有要存储的用户记录

    我所能做的就是让(2)上的API将其返回给客户机;然后可以在重定向之前将其存储在cookie中;然后在回调时,将其传递回服务器。。。但这看起来非常复杂,我假设在纯文本中执行这一切会使执行此额外检查的值无效

    希望我在这里遗漏了一些明显的东西。

    您尝试过使用库吗

    :twitter位于受支持的身份验证后端。

    您尝试过使用库吗


    :twitter位于受支持的身份验证后端。

    您可以尝试让用户注册基本详细信息,然后有一个“链接到twitter”按钮,显示他们必须激活twitter连接才能在您的web应用上执行任何其他操作。

    您可以尝试让用户注册基本详细信息,然后有一个“链接到Twitter”按钮,显示他们必须激活他们的Twitter连接才能在你的web应用程序上做任何对我的情况没有帮助的事情。我的auth集成得很好,我不是在寻找一个不同的库。我想问的是,在现代客户端/RESTAPI设置中,如何最好地处理回调时的身份验证令牌检查。这对我的情况没有帮助。我的auth集成得很好,我不是在寻找一个不同的库。我想问的是,在现代客户机/RESTAPI设置中,如何最好地处理回调时的身份验证令牌检查。