Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
CakePHP OAuth2 Server Plugin
PHP
Branch: master
Pull request Compare This branch is 11 commits ahead of mikesmullin:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
Config
Controller
Lib
Model
Vendor
View/OAuth2Server
.gitignore
.gitmodules
README.md

README.md

Ported to CakePHP 2.0 Conventions by Daniel Correia

Original README contents (with a few changes):

CakePHP OAuth2 Server Plugin by Mike Smullin mike@smullindesign.com

** Host your own OAuth2 API Server Authentication system like Facebook, Twitter, etc. **

Pre-requisites

  • CakePHP User Model defined in app
  • No conflict with using CakePHP Auth Component in plugin
  • CakePHP Migrations plugin installed

Installation & Usage

Place this directory in your plugins dir:

git submodule add git://github.com/danielbcorreia/CakePHP-OAuth2-Server-Plugin.git ./app/Plugin/OAuth2Server/

Download the latest version of Tim Ridgley's oauth2-php into ./app/Plugin/OAuth2Server/Vendors/oauth2-php/, from:

http://code.google.com/p/oauth2-php/

Add this line to your ./app/config/routes.php:

// include CakePHP-OAuth2-Server-Plugin routes
require_once App::pluginPath('OAuth2Server') .'config'. DS .'routes.php';

Run this plugin's migrations (requires CakePHP Migrations plugin by CakeDC) - Branch 2.0

cake migration -plugin OAuth2Server

Customize the file ./app/Plugin/OAuth2Server/Config/oauth.php to fit your use case.

Add this plugin's OAuth2 component to your AppController:

var $components = array('OAuth2Server.OAuth2');

Add this override to your AppController:

/**
 * Override isAuthorized() callback.
 * Disables placeholder error and changes default to null,
 * which has a special meaning for OAuth2Server plugin.
 *
 * @return Boolean
 *   null = check normally
 *   true = force allow without check
 *   false = force disallow without check
 */
function isAuthorized() {
    return null; // check normally
}

Authentication verification happens automatically any time getCurrentUserId() is called:

try {
  $this->OAuth2->getCurrentUserId(true); // true is optional and default; means throw exception on failure
} catch (Exception $e) {
  // handle problems with access_token here
}

Credits

CakePHP-OAuth2-Server-Plugin is written by Mike Smullin and is released under the WTFPL.

OAuth2-PHP is written by Tim Ridgely and licensed under MIT. see http://code.google.com/p/oauth2-php/

CakePHP Migrations is written by CakeDC. see https://github.com/CakeDC/migrations

Something went wrong with that request. Please try again.