middleout / 第三方连接
一个为 ZF2 设计的模块,允许开发者使用自己的数据库存储实现 Facebook、Twitter、Google 和 LinkedIn 的连接。
这个软件包的官方仓库似乎已经不存在了,因此该软件包已被冻结。
Requires
- php: >=5.3.3
- facebook/php-sdk: 3.*
- zendframework/zendframework: 2.*
This package is not auto-updated.
Last update: 2020-03-30 04:07:45 UTC
README
一个为 ZF2 设计的模块,允许开发者使用自己的数据库存储实现 Facebook、Twitter、Google 和 LinkedIn 的连接。层。
安装
-
通过运行 composer 安装模块
php composer.phar require middleout/third-party-connect:dev-master
或者直接从 github 下载并将其放置在应用程序的
vendor/
目录中。 -
将
ThirdPartyConnect
模块添加到config/application.config.php
的模块部分。 -
将
./vendor/middleout/third-party-connect/config/third-party-connect.local.php.dist
复制到./config/autoload/third-party-connect.local.php
。根据您的需求更改其中的任何设置。
使用方法
-
在 third-party-connect.local.php 中定义您的公开/私有密钥。
-
在同一个文件中定义 Facebook 的权限(您可以在 FacebookService 类中找到定义)。
-
定义返回 URL 的路由。
-
创建一个具有如下 href 的 "a" 标签:
<a href="$this->url('third-party-connect', array('controller' => 'authorize', 'action' => 'facebook'), true);">通过 Facebook 连接</a>
操作可以是以下之一:facebook、twitter、linkedin、google
如果您想显示弹出窗口,将配置文件中的 "use_popup" 设置为 true。
-
在您的控制器/操作中,从服务管理器获取以下键之一(根据您所做操作):$serviceManager->get('facebookConnect') $serviceManager->get('twitterConnect') $serviceManager->get('googleConnect') $serviceManager->get('linkedinConnect')
然后在该对象上运行方法 getUserData()
此方法可能返回 false,如果出现错误(例如拒绝权限)。由于您从 URL 获取信息,因此错误处理取决于您。然而,有一个名为 "hasErrors()" 的方法,它已经知道在 $_GET 中寻找什么错误。
所有 4 个服务都返回相同的用户数据数组(已标准化),因此您不必担心。