uzyn / cakephp-opauth
CakePHP v2.x 版本的 Opauth 插件,允许使用 CakePHP 简单地接入第三方认证
Requires
- php: >=5.2.0
- composer/installers: 1.*
- opauth/opauth: >=0.2.0
README
CakePHP 2.x 插件,用于 Opauth。
Opauth 是一个多提供商认证框架。
要求
CakePHP v2.x
Opauth >= v0.2 (包含此包的子模块)
使用 Composer 吗?
您可以直接从 Composer 安装 CakePHP-Opauth 插件,地址为 uzyn/cakephp-opauth。
它也适用于 Opauth 策略!
在 composer 分支 查看笔记和 Composer 启用的插件代码。
教程 & 示例应用
查看 CakePHP 面包房 中的教程和 示例分支 中的快速示例应用。
如何使用
-
将此插件安装到您的 CakePHP 应用中。
假设APP
是您的 CakePHP 应用的目录,通常位于 CakePHP 基础的app/
。cd APP/Plugin git clone git://github.com/uzyn/cakephp-opauth.git Opauth
-
下载 Opauth 库作为子模块。
git submodule init git submodule update
-
将以下行添加到您的应用
Config/bootstrap.php
文件的底部<?php CakePlugin::load('Opauth', array('routes' => true, 'bootstrap' => true));
在上述行之后覆盖任何您想要覆盖的 Opauth 配置。
-
将 策略 添加到
Strategy/
目录。按照以下方式在您的应用
Config/bootstrap.php
中添加策略的配置<?php CakePlugin::load('Opauth', array('routes' => true, 'bootstrap' => true)); // Using Facebook strategy as an example Configure::write('Opauth.Strategy.Facebook', array( 'app_id' => 'YOUR FACEBOOK APP ID', 'app_secret' => 'YOUR FACEBOOK APP SECRET' ));
-
访问
http://path_to_your_cake_app/auth/facebook
使用 Facebook 进行认证,以及其他您已加载的策略。 -
验证后,用户将被重定向到
Router::url('/opauth-complete')
,并在$this->data
中可检索到验证的认证响应数据。要路由控制器以处理响应,在您的应用
Config/routes.php
中添加一个连接器,例如<?php Router::connect( '/opauth-complete/*', array('controller' => 'users', 'action' => 'opauth_complete') );
您可以在例如
APP/Controller/UsersController.php
中这样处理认证数据<?php // APP/Controller/UsersController.php: class UsersController extends AppController { public function opauth_complete() { debug($this->data); } }
注意,此 CakePHP Opauth 插件已经为您进行了认证响应验证,其结果作为布尔值在
$this->data['validated']
中可用。 -
(可选) 子模块化的 Opauth 核心库可能不是最新构建的,要更新到最新版本
git submodule foreach git pull origin master
注意
如果您的 CakePHP 应用 不在 DocumentRoot(例如 http://localhost
),而是在 DocumentRoot 下的目录中(例如 http://localhost/your-cake-app
),
请将此行添加到您的应用 APP/Config/bootstrap.php
中,用您的实际路径替换 your-cake-app
<?php // APP/Config/bootstrap.php Configure::write('Opauth.path', '/your-cake-app/auth/');
问题 & 询问
- 讨论组: Google Groups
这是支持的主要渠道,特别是用户问题的支持。 - 问题: Github Issues
- 推特: @uzyn
- 给我发邮件: chua@uzyn.com
- IRC: #opauth 在 Freenode
在你的 CakePHP 项目中使用了这个插件吗?请告诉我们!
许可证
MIT 许可证
版权所有 © 2012-2013 U-Zyn Chua (http://uzyn.com)
打包说明
制作成下载的压缩包的说明。
git checkout master git submodule update --init --recursive rm -rf `find . -type d -name .git` cd .. mv cakephp-opauth Opauth zip -mr Opauth-CakePHP-plugin-X.Y.Z.zip Opauth
咨询
U-Zyn Chua 是 Zynesis Consulting 的首席顾问,专注于 CakePHP。
寻找 PHP 网站开发解决方案或咨询? 给我发邮件。