ogogo/social-auth

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

dev-master 2015-07-25 20:39 UTC

This package is not auto-updated.

Last update: 2024-09-24 16:16:24 UTC


README

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

需求

功能

  • 通过 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",并将 "ogogo/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",
        "ogogo/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',
        'SocialAuth',
        '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)和 SocialAuth(./vendor/ogogo/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

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