使用OAUTH可以实现服务器端的Twitter客户端吗?

时间:2010-07-02 01:53:26

标签: php rest twitter oauth

Twitter将phase out到2010年8月进行HTTP基本身份验证。在链接中,我的方案来自桌面应用程序。基本上我的客户应该在网站上发布新帖子。

使用HTTP基本身份验证会非常简单,因为我可以在应用程序中存储和使用我帐户的用户名和密码进行身份验证。 但是,通过OAUTH,我可以通过两种方式获得最终凭证:

  • Callback method。您被重定向到Twitter,(如果不是,则登录),单击允许访问,重定向回到您的回调URL。
  • PIN mode。您将获得一个打开的链接,(如果不是,则登录),单击允许访问,接收PIN码。使用此PIN码验证您的应用。

我是否理解PIN码也会过期?如果只是从客户端应用程序发送推文的用户名和密码,怎么可能呢?服务器端脚本如何使用用户名/密码登录并单击允许访问?我可以通过谷歌搜索的所有方案都是通过Web应用程序验证通过 Twitter进行身份验证,用户在浏览器前面进行重定向。

2 个答案:

答案 0 :(得分:2)

PIN会在OAuth 1.0a下过期。使用返回的验证码需要在初始授权请求中使用临时请求令牌。

OAuth 2.0定义了更多flows - 其中一个使用直接login/password机制。由Twitter决定他们决定实施哪些流程。您还可以在应用中嵌入用户代理。

桌面应用遭受了OAuth 1.0的非常糟糕的用户体验,导致了2.0。这是可行的,但很痛苦。如果您需要也可以从Twitter请求XAuth access。它与基本身份验证几乎相同。

答案 1 :(得分:2)

  

我可以谷歌搜索的所有场景都是通过Twitter进行身份验证的Web应用程序,用户在浏览器前面进行重定向。

用户必须在第一时间为您授权(就像他们必须为您提供用户名和密码一样),但生成的访问令牌不会过期并且可以重复使用(除非用户取消对您的应用程序的授权) ,就是)。

存储访问令牌 - 它与用户名/密码一样好。实际上更好 - 如果他们更改密码,您的访问权限仍然存在。