2011-03-03 88 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