soalnick/scn-social-auth

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


README

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

Build Status Latest Stable Version Total Downloads Dependency Status

演示

要求

功能

  • 通过AOL登录 [不再支持]
  • 通过Facebook登录 [完整]
  • 通过Foursquare登录 [完整]
  • 通过Github登录 [完整]
  • 通过BitBucket登录 [完整]
  • 通过Google登录 [完整]
  • 通过LinkedIn登录 [完整]
  • 通过Live登录 [不完整]
  • 通过MySpace登录 [不完整]
  • 通过OpenID登录 [不完整]
  • 通过Twitter登录 [完整]
  • 通过Yahoo!登录 [完整]
  • 通过Tumblr登录 [完整]
  • 通过Mail.Ru登录 [完整]
  • 通过Odnoklassniki登录 [完整]
  • 通过VKontakte登录 [完整]
  • 通过Yandex登录 [完整]
  • 通过Instagram登录 [完整]

安装

建议使用Composer将此模块添加到您的Zend Framework 2应用程序中。在克隆ZendSkeletonApplication之后,将“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"
    ],
    "homepage": "http://framework.zend.com/",
    "require": {
        "php": ">=5.3.3",
        "zendframework/zendframework": "2.*",
        "socalnick/scn-social-auth": "1.*"
    }
}

接下来,将所需的模块添加到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)的模式。

如果您在服务管理器配置中还没有有效的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,并根据需要更改值。