我正在开发OAuth上的Twitter应用程序,我想提供将来发布更新的功能。
基本计划是每小时运行一个脚本并找到需要发布的任何更新,然后验证相应的用户并使用状态/更新API调用。
但是,我不知道如何使用OAuth。我显然不想存储他们的用户名和密码 - 这在第一个实例中击败了使用OAuth的对象。
但是,如果这是唯一的选择,那么我怎么能不存储他们密码的纯文本副本,但仍然对他们进行身份验证?
答案 0 :(得分:1)
使用OAuth,您最初只需要用户凭据即可获取oauth令牌。获得oauth令牌后,使用oauth令牌代替这些凭据。 OAuth下的后续调用中唯一的问题是与服务端令牌关联的任何TTL(生存时间)。 Twitter does not apparently expire tokens,因此,一旦您拥有有效的令牌,您就可以继续代表用户拨打电话。您需要从用户获取凭据的唯一时间是(1)在运行应用程序的初始阶段,或(2)如果用户的会话由于某种原因变得无效(更改密码,用户指导的会话失效,等)。
有关详细信息,请参阅OAuth spec。
请注意,如果您打算在应用程序的调用之间使用相同的用户令牌,则应准备加密令牌并安全地存储它。如果有人捕获您的消费者密钥和秘密,以及用户令牌,则可能会损害用户的身份。