2011-03-03 100 views

回答

6

看一看An example of OpenID, Facebook and Twitter authentication in Zend Framework 1.11。尽管如此,应用程序并未展示如何使用普通用户身份验证(这不是它的目的),它显示了使用OpenID(Google, Yahoo,MyOpenId,AOL,OpenId)以及Facebook Connect和Twitter Oauth的一种方式, 用户身份验证。 ZF比常规用户认证更难做到这一点。

+0

你能否详细说明这个例子。当我用tweeter.com试用它时,它总是显示'重定向失败',您没有登录。演示网址是:http://articlecon.com/phpdemo/tf/ – Simpanoz 2011-03-06 15:23:53

+0

@Simpanoz。也许你的网址不正确。例如,在我的appkeys.ini中,twitter的url是twitter.redirecturi = http://www.mwol.born2die.eu/zfopenid/public/user/login/ – Marcin 2011-03-06 23:48:11

4

不知道twitter,但您可以在ZF项目中轻松使用Facebook PHP SDK。 SDK“examples”文件夹中有一个很好的例子。

我的做法是

  • 添加Facebook的对象作为应用程序资源的插件,如

require_once 'facebook.php'; 

class My_Application_Resource_Facebook extends Zend_Application_Resource_ResourceAbstract 
{ 
    public function init() 
    { 
     $facebook = new Facebook($this->getOptions()); 

     Zend_Registry::set('facebook', $facebook); 

     return $facebook; 
    } 
} 

  • 检查的Facebook会话和用户在你的Bootstrap.php文件,将其添加到Zend_Auth如果适用
  • 包括在你的布局Facebook JavaScript SDK
  • 使用Login Button来验证用户

因为Facebook的身份验证令牌是基于cookie的,无论你的服务器端代码和客户端JS可以访问它。

这里编辑 Twitter的库 - http://dev.twitter.com/pages/libraries#php