uzyn/cakephp-opauth

CakePHP v2.x 版本的 Opauth 插件,允许使用 CakePHP 简单地接入第三方认证

安装数: 275,563

依赖项: 0

建议者: 0

安全性: 0

星标: 128

关注者: 21

分支: 61

开放问题: 18

类型:cakephp-plugin

1.0.8 2014-11-24 16:38 UTC

This package is not auto-updated.

Last update: 2024-09-14 15:27:00 UTC


README

CakePHP 2.x 插件,用于 Opauth

Opauth 是一个多提供商认证框架。

要求

CakePHP v2.x
Opauth >= v0.2 (包含此包的子模块)

使用 Composer 吗?

您可以直接从 Composer 安装 CakePHP-Opauth 插件,地址为 uzyn/cakephp-opauth
它也适用于 Opauth 策略!

composer 分支 查看笔记和 Composer 启用的插件代码。

教程 & 示例应用

查看 CakePHP 面包房 中的教程和 示例分支 中的快速示例应用。

如何使用

  1. 将此插件安装到您的 CakePHP 应用中。
    假设 APP 是您的 CakePHP 应用的目录,通常位于 CakePHP 基础的 app/

    cd APP/Plugin
    git clone git://github.com/uzyn/cakephp-opauth.git Opauth
  2. 下载 Opauth 库作为子模块。

    git submodule init
    git submodule update
  3. 将以下行添加到您的应用 Config/bootstrap.php 文件的底部

    <?php
    CakePlugin::load('Opauth', array('routes' => true, 'bootstrap' => true));

    在上述行之后覆盖任何您想要覆盖的 Opauth 配置。

  4. 策略 添加到 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'
    ));
  5. 访问 http://path_to_your_cake_app/auth/facebook 使用 Facebook 进行认证,以及其他您已加载的策略。

  6. 验证后,用户将被重定向到 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'] 中可用。

  7. (可选) 子模块化的 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/');

问题 & 询问

在你的 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 网站开发解决方案或咨询? 给我发邮件