GitXplorerGitXplorer
u

cakephp-opauth

public
128 stars
60 forks
18 issues

Commits

List of commits on branch master.
Unverified
2ca4dc8f887a5ea09b2536b7d1630f4db7f123b9

Merge pull request #45 from katsukii/fix_strategy_readme

uuzyn committed 10 years ago
Unverified
f32f45d9d919a66e0e6613441e998bd1875a93ce

I couldn't access the url.

kkatsukii committed 10 years ago
Unverified
72f07cfc8e8580cebf50316f7a64905ff5451cc2

Merge pull request #40 from l4ci/master

uuzyn committed 10 years ago
Unverified
55f22c06bf53a6b5ad1f4348e07ed1ec72337e81

Update .gitmodules

ll4ci committed 10 years ago
Unverified
39451987d9c8ddaeefd45f6f755ba9962dbce5df

Update .gitmodules

ll4ci committed 10 years ago
Unverified
71af547990e509b429678c7f10251fabbc0f50d2

Update .gitmodules

ll4ci committed 10 years ago

README

The README file for this repository.

CakePHP plugin for Opauth

CakePHP 2.x plugin for Opauth.

Opauth is a multi-provider authentication framework.

Requirements

CakePHP v2.x
Opauth >= v0.2 (submoduled with this package)

Using Composer?

You can install CakePHP-Opauth plugin directly from Composer at uzyn/cakephp-opauth.
It works for Opauth strategies too!

View notes and Composer-enabled plugin code at composer branch.

Tutorial & sample app

Check out CakePHP bakery for tutorial and the sample branch for a quick sample app.

How to use

  1. Install this plugin for your CakePHP app.
    Assuming APP is the directory where your CakePHP app resides, it's usually app/ from the base of CakePHP.

    cd APP/Plugin
    git clone git://github.com/uzyn/cakephp-opauth.git Opauth
  2. Download Opauth library as a submodule.

    git submodule init
    git submodule update
  3. Add this line to the bottom of your app's Config/bootstrap.php:

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

    Overwrite any Opauth configurations you want after the above line.

  4. Load strategies onto Strategy/ directory.

    Append configuration for strategies at your app's Config/bootstrap.php as follows:

    <?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. Go to http://path_to_your_cake_app/auth/facebook to authenticate with Facebook, and similarly for other strategies that you have loaded.

  6. After validation, user will be redirected to Router::url('/opauth-complete') with validated auth response data retrievable available at $this->data.

    To route a controller to handle the response, at your app's Config/routes.php, add a connector, for example:

    <?php
    Router::connect(
        '/opauth-complete/*', 
        array('controller' => 'users', 'action' => 'opauth_complete')
    );

    You can then work with the authentication data at, say APP/Controller/UsersController.php as follows:

    <?php // APP/Controller/UsersController.php:
    class UsersController extends AppController {
        public function opauth_complete() {
            debug($this->data);
        }
    }

    Note that this CakePHP Opauth plugin already does auth response validation for you with its results available as a boolean value at $this->data['validated'].

  7. (optional) The submoduled Opauth core library may not be of the latest build, to update to the latest:

    git submodule foreach git pull origin master

Note:

If your CakePHP app does not reside at DocumentRoot (eg. http://localhost), but at a directory below DocumentRoot (eg. http://localhost/your-cake-app),
add this line to your app's APP/Config/bootstrap.php, replacing your-cake-app with your actual path :

<?php // APP/Config/bootstrap.php
Configure::write('Opauth.path', '/your-cake-app/auth/');

Issues & questions

Used this plugin in your CakePHP project? Let us know!

License

The MIT License
Copyright © 2012-2013 U-Zyn Chua (http://uzyn.com)

Package building instructions

Instructions for making into a nice zipped package for download.

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

Consultation

U-Zyn Chua is the Principal Consultant at Zynesis Consulting, specializing in CakePHP.
Looking for PHP web development solutions or consultation? Drop me a mail.