(使用 node.js oAuth 模块)
从我见过的所有示例中获取用户身份验证令牌的流程是:
- 使用应用 ID 和密码生成唯一的应用身份验证令牌和密码
- 将这些保存到用户的会话中
- 使用检索到的应用授权令牌生成用户授权重定向 URL
- 用户点击授权会向应用发送用户令牌和密码
- 使用保存的令牌和新的用户令牌代表用户发布
(这是我发现的一个代码示例,如下所述:http ://runnable.com/UTlPL1-f2W1TAAAV/how-to-oauth-with-twitter )
我不明白 Twitter 如何存储在步骤 1 中检索到的令牌。它们是在与用户没有任何联系的情况下生成的,即使在生成新的令牌后它们似乎也能继续工作。
示例:用户 A 执行了第 1、2 和 3 步,但随后用户 B 在用户 A 单击授权之前执行了第 1、2 和 3 步,但两个身份验证都使用从第 1 步生成的原始应用令牌,尽管应用身份验证令牌正在重新创建并且不同。
因此,所有这一切都存在三个主要问题:
步骤 1 中的应用令牌持续多长时间?
每次我想代表用户发帖时,我是否应该生成新的应用令牌(步骤 1)?
是否有更简单的方法来生成重定向 URL(第 3 步)或验证帖子(第 5 步)?我知道 Facebook 不要求您为两者生成应用程序令牌,但我还没有找到任何方法来使用 Twitter 做到这一点。