Django - 暂时保存OAuth 1.0a流的请求令牌

时间:2015-06-17 18:41:49

标签: django oauth oauth-1.0a

authenticated request token进行身份验证后,Twitter OAuth 1.0a流程需要access tokenconsumer or client的{​​{1}}进行交换。

我遇到的问题是生成user需要access tokenauthenticated request tokenrequest token secret,但来自verifier api的回复不会有oauth/authentication。那么如何从request token secret api调用暂时保存请求令牌机密,以便我可以在oauth/request_token api调用中使用它。

我从我的探索中找到了一些解决方案,例如运行缓存服务器( Memcached,Redis )或使用 django会话功能。但是他们似乎都对这项任务太过分了。

我希望找到一个更简单的解决方案。

1 个答案:

答案 0 :(得分:1)

我确定你很久以前就想到了这一点,但仅限于未来的goolers:我决定采用更低技术路线并创建一个OAuth令牌类,其中包含获取和访问令牌的字段。基本上我拿取获取的令牌,存储它,然后在访问时调用它(因为它在不同的视图中),然后保存访问令牌。一旦(如果)成功,我就删除了获取的令牌。

这可能是一种更加迷人的方式,但是如果您熟悉您的命名约定,您可以轻松地保持它们的直接性(即为提供者添加CharField并将获取的令牌保存为twitter_fetched ,以及访问令牌只是推特)。

这样做的另一个好处是允许您从存储的访问令牌创建OAuth1或OAuth1Session。