Twitter OAuth识别

时间:2011-02-16 14:26:49

标签: php twitter oauth

所以我试图让我的客户使用Twitter登录,而只是推特。

Twitter说:“你永远不应该再为你的用户存储密码”,但我如何用twitters API重新验证我的用户?

如果我在删除会话后将用户重新发送给Twitter,Twitter会再次询问用户是否要访问我的应用程序。

在没有存储本地用户数据的情况下,是否可以与Twitter帐户无缝集成?

修改

似乎问题不是很清楚。我经历过的使用例如http://forum.jquery.com/。他们使用OpenID。我点击“使用谷歌登录”。我被重定向到谷歌。谷歌记得曾经给过Zoho一次访问,并立即将我发回到forums.jquery.com,这次有一个access_token让zoho认证我。我没有Zoho的持久数据。但他们可以登录我。

OAuth的推特内容如下。用户访问我的网站,点击“使用Twitter登录”并重定向到推特。 Twitter再次询问他们 是否要让应用程序访问他们的数据。而不是谷歌的直接重定向。

Twitter是否有可能立即将用户重定向到我。我有一个适合我的环境。

6 个答案:

答案 0 :(得分:3)

将用户发送至https://api.twitter.com/oauth/authenticate而非https://api.twitter.com/oauth/authorize。如果用户已经登录Twitter并且之前已经使用您的应用进行了身份验证,那么他们将被重定向而不会看到允许/拒绝提示。

答案 1 :(得分:2)

您从Twitter存储的是用户的TOKEN和用户的SECRET。当您处于oauth身份验证过程中时,这些值由Twitter(或任何oauth提供商)发布。

您可以在PHP中使用此库获取想法:

https://github.com/abraham/twitteroauth

或者Ruby中的这个:

https://github.com/jnunemaker/twitter

一旦你尝试了任何真实的例子,这个过程非常简单。这一点都不难。

这里还有一些不错的截屏视频:

http://railscasts.com/episodes/241-simple-omniauth

http://railscasts.com/episodes/235-omniauth-part-1

http://railscasts.com/episodes/236-omniauth-part-2

答案 2 :(得分:1)

您是否真的阅读了API?

阅读getting started页面,您不存储为用户存储访问权限的密码。如果你想让人们登录并注册你必须存储一些数据; - )

答案 3 :(得分:1)

我确实遇到了这个问题,并使用setAuthorizedUrl方法解决了它 - 有关详细信息,请参阅此处http://www.evilprofessor.co.uk/359-sign-in-with-twitter-using-zend-framework/

答案 4 :(得分:0)

本教程可能对您有所帮助。

Twitter API connect using oAuth

答案 5 :(得分:0)

克里斯蒂安评论是我一直在寻找的。

  

您必须将这些值保存在任何永久存储中,否则,您的用户将始终需要再次使用Twitter。

很遗憾,Twitter无法识别用户已经允许我的应用并自动重定向