我正在开发一个关于 OAuth 的 Twitter 应用程序,并且我希望能够提供将来发布更新的功能。
基本计划是每小时运行一个脚本并查找需要发布的任何更新,然后验证适当的用户并使用 statuses/update API 调用。
但是,我不知道如何为此使用 OAuth。我显然不想存储他们的用户名和密码——这违背了在第一个实例中使用 OAuth 的目的。
但是,如果这是唯一的选择,那么我怎么能不存储他们密码的明文副本但仍然对他们进行身份验证?
我正在开发一个关于 OAuth 的 Twitter 应用程序,并且我希望能够提供将来发布更新的功能。
基本计划是每小时运行一个脚本并查找需要发布的任何更新,然后验证适当的用户并使用 statuses/update API 调用。
但是,我不知道如何为此使用 OAuth。我显然不想存储他们的用户名和密码——这违背了在第一个实例中使用 OAuth 的目的。
但是,如果这是唯一的选择,那么我怎么能不存储他们密码的明文副本但仍然对他们进行身份验证?
使用 OAuth,您最初只需要用户凭据即可获取 oauth 令牌。获得 oauth 令牌后,您可以使用 oauth 令牌代替这些凭据。OAuth 下后续调用中的唯一问题是与服务端令牌关联的任何 TTL(生存时间)。 Twitter 显然不会使令牌过期,因此一旦您拥有有效的令牌,您应该能够继续代表用户拨打电话。您需要从用户那里获取凭据的唯一情况是 (1) 在运行应用程序的初始阶段,或 (2) 如果用户的会话由于某种原因变得无效(更改密码、用户控制的会话失效, ETC。)。
有关更多详细信息,请参阅OAuth 规范。
请注意,如果您打算在应用程序的调用之间使用相同的用户令牌,您应该准备好加密令牌并安全地存储它。如果有人捕获了您的消费者密钥和秘密以及用户令牌,则用户的身份可能会受到损害。