【问题标题】:Zend framework user authentication integration with Twitter and FacebookZend 框架与 Twitter 和 Facebook 的用户身份验证集成
【发布时间】:2011-07-07 17:53:42
【问题描述】:

是否有任何基于 ZF 的脚本,它支持普通用户注册/登录系统,以及通过 Twitter 和 Facebook 的用户身份验证。

【问题讨论】:

    标签: php facebook zend-framework twitter openid


    【解决方案1】:

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

    我的方法是

    • 将 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;
        }
    }
    

    • 检查您的 Bootstrap.php 文件中的 Facebook 会话和用户,如果适用,将其添加到 Zend_Auth
    • 在您的布局中包含Facebook JavaScript SDK
    • 使用Login Button 对您的用户进行身份验证

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 你能详细说明这个例子吗?当我在 tweeter.com 上尝试过时,它总是显示“重定向失败”,您没有登录。演示网址是:articlecon.com/phpdemo/tf
      • @Simpanoz。也许你的网址不正确。例如,在我的 appkeys.ini 中,twitter 的 url 是 twitter.redirecturi = mwol.born2die.eu/zfopenid/public/user/login
      猜你喜欢
      • 2011-04-16
      • 1970-01-01
      • 1970-01-01
      • 2012-03-22
      • 2011-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多