2010-07-02 58 views
3

Twitter'll​​截止2010年8月的HTTP基本认证。在链接我的场景是从桌面应用。基本上我的客户应该在网站上发布新帖子。服务器端Twitter客户端可能与OAUTH?

这对HTTP基本身份验证来说非常简单,因为我可以在应用中存储和使用我的账户的用户名和密码进行身份验证。 然而,通过OAuth我可以通过两种方式得到最后的凭据:

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

我是否正确理解PIN码也过期?给定一个用户名和密码只是为了从客户端应用程序推送,怎么可能?服务器端脚本如何使用用户名/密码登录并单击允许访问?我可以谷歌的所有场景是一个Web应用程序来验证通过 twitter,用户在浏览器前面走过重定向。

回答

2

我可以谷歌了所有的情况下,一个Web应用程序通过twitter进行身份验证,用户在浏览器前面走过重定向。

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

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

2

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

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

桌面应用程序由于使用OAuth 1.0而导致2.0的用户体验非常糟糕。这是可行的,但痛苦。如果您需要来自Twitter,您也可以要求XAuth access。它与基本身份验证几乎相同。