如何在Zend Framework 1.12中登录facebook、twitter和google+等社交网站到我的网站


How to log in social networking sites like facebook, twitter and google+ to my websites in Zend Framework 1.12?

如何在我们的网站中集成社交网站Facebook、twitter和Google+。

当用户在我们的网站上使用应用程序时,他必须首先通过上述任何网站登录,如何使用zend框架1.12来实现这一点?

这三个网站有插件组合吗?或者如何做到这一点?提前感谢

需要编写一个登录过程,以便人们可以使用Facebook、Twitter或Google登录。还可以同时使用这些提供程序的组合登录,因此您可以使用多个API。例如,通过这种方式,您可以同时为用户发布推特(Twitter)和墙帖(Facebook)。

你可以在这里找到代码:

更新:在线演示http://thebestsolution.org/projects/ZendMultipleAuthentications/.您的数据没有保存,它只是概念的证明!

Facebook

对于Facebook登录,使用OAuth 2.0。这是一个非常好且简单的身份验证协议,但Zend(尚未)在框架中实现它。因此,我编写了一个使用者类来处理Oauth2请求。为了使用Facebook的API,我制作了自己的Facebook资源类。

Twitter

Twitter使用OAuth1.0协议Zend已经有了处理OAuth1.0行为的类。为了访问API,使用了TwitterResource类。

谷歌

谷歌有多种身份验证选项。我第一次尝试了OAuth 2.0,但这对登录没有用处,因为它不记得用户同意访问资源的权限。因此,每次用户验证问题时,都会被要求向用户授予谷歌资源的权限。我放弃了使用OpenId协议,它不仅可以提供登录服务,还可以访问一些用户信息。Zend有OpenId协议的类,它们用于与谷歌连接。Zend框架中的OpenId使用者不支持Google。请按照此注释中的说明进行操作。

*更新:谷歌已经更改了OAuth2的授权协议(链接)。现在谷歌记住了对OAuth2资源的授权,所以我更改了代码,使用OAuth2而不是OpenID登录谷歌。我们可以将Google API与Google资源类一起使用。