finbarrmccarthy/scn-social-auth

使用HybridAuth PHP库,为ZfcUser ZF2模块启用通过Google、Facebook、Twitter、Yahoo!等认证。

1.13.0 2014-03-09 00:14 UTC

README

使用HybridAuth PHP库,为ZfcUser ZF2模块启用通过Google、Facebook、Twitter、Yahoo!等认证。

Build Status Latest Stable Version Total Downloads

要求

特性

  • 使用AOL登录 [已不再支持]
  • 使用Facebook登录 [完成]
  • 使用Foursquare登录 [完成]
  • 使用Github登录 [完成]
  • 使用Google登录 [完成]
  • 使用LinkedIn登录 [完成]
  • 使用Live登录 [未完成]
  • 使用MySpace登录 [未完成]
  • 使用OpenID登录 [未完成]
  • 使用Twitter登录 [完成]
  • 使用Yahoo!登录 [完成]
  • 使用Tumblr登录 [完成]
  • 使用Mail.Ru登录 [完成]
  • 使用Odnoklassniki登录 [完成]
  • 使用VKontakte登录 [完成]
  • 使用Yandex登录 [完成]
  • 使用Instagram登录 [完成]

安装

建议使用Composer将此模块添加到您的Zend Framework 2应用程序中。在克隆ZendSkeletonApplication后,将composer minimum-stability设置更改为"dev",并将"socalnick/scn-social-auth"添加到依赖项列表中,然后运行php composer.phar install/update。您的composer.json应该看起来像这样

{
    "name": "zendframework/skeleton-application",
    "description": "Skeleton Application for ZF2",
    "license": "BSD-3-Clause",
    "keywords": [
        "framework",
        "zf2"
    ],
    "minimum-stability": "dev",
    "homepage": "http://framework.zend.com/",
    "require": {
        "php": ">=5.3.3",
        "zendframework/zendframework": "dev-master",
        "socalnick/scn-social-auth": "dev-master"
    },
    "autoload": {
        "psr-0": {
            "Hybrid": "./vendor/hybridauth/hybridauth/hybridauth/"
        },
        "classmap": ["./vendor/hybridauth/hybridauth"]
    }
}

接下来,将所需的模块添加到config/application.config.php中

<?php
return array(
    'modules' => array(
        'Application',
        'ScnSocialAuth',
        'ZfcBase',
        'ZfcUser',
    ),
    'module_listener_options' => array(
        'config_glob_paths'    => array(
            'config/autoload/{,*.}{global,local}.php',
        ),
        'module_paths' => array(
            './module',
            './vendor',
        ),
    ),
);

导入ZfcUser(./vendor/zf-commons/zfc-user/data/schema.sql)和ScnSocialAuth(./vendor/socalnick/scn-social-auth/data/schema.sql)的schema。

如果您在服务管理器配置中还没有有效的Zend\Db\Adapter\Adapter,请在./config/autoload/database.local.php中添加以下内容

<?php

$dbParams = array(
    'database'  => 'changeme',
    'username'  => 'changeme',
    'password'  => 'changeme',
    'hostname'  => 'changeme',
);

return array(
    'service_manager' => array(
        'factories' => array(
            'Zend\Db\Adapter\Adapter' => function ($sm) use ($dbParams) {
                return new Zend\Db\Adapter\Adapter(array(
                    'driver'    => 'pdo',
                    'dsn'       => 'mysql:dbname='.$dbParams['database'].';host='.$dbParams['hostname'],
                    'database'  => $dbParams['database'],
                    'username'  => $dbParams['username'],
                    'password'  => $dbParams['password'],
                    'hostname'  => $dbParams['hostname'],
                ));
            },
        ),
    ),
);

如果您在服务管理器配置中还没有有效的Zend\Session\SessionManager,请在./config/autoload/session.local.php中添加以下内容

<?php

return array(
    'service_manager' => array(
        'invokables' => array(
            'Zend\Session\SessionManager' => 'Zend\Session\SessionManager',
        ),
    ),
);

选项

请确保检查ZfcUser中可用的选项:https://github.com/ZF-Commons/ZfcUser#options

ScnSocialAuth模块有两个文件,允许您配置支持的提供者。安装ScnSocialAuth后,将./vendor/socalnick/scn-social-auth/config/scn-social-auth.global.php.dist复制到./config/autoload/scn-social-auth.global.php并更改所需的值。同样,将./vendor/socalnick/scn-social-auth/config/scn-social-auth.local.php.dist复制到./config/autoload/scn-social-auth.local.php并更改所需的值。