OAuth2.0 Server for CodeIgniter
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is even with grasses:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
application
sql
system
LICENSE
README.md
composer.json
contributing.md
index.php
license.txt
readme.rst
spark.info

README.md

CodeIgniter OAuth2 Server


CodeIgniter OAuth2 Server, a CodeIgniter package for OAuth2.0 Server,

For OAuth2.0 client: https://github.com/philsturgeon/codeigniter-oauth2

For OAuth2.0: http://oauth.net/2/

Learn OAuth2.0 protocol: http://bshaffer.github.io/oauth2-server-php-docs/overview/grant-types/

Also for Chinese guide : http://homeway.me/2015/06/29/build-oauth2-under-codeigniter/

For test result: http://oauth2.homeway.me/oauth/test

Installation


1.Clone pakcage

git clone https://github.com/grasses/codeigniter-oauth2-server /path/to/www/root/

2.Config database -> $db['oauth']

cd codeigniter-oauth2-server

vim application/config/database.php

config dsn, hostname, username, password, database

3.Import database

mysqldump -u root -p > sql/oauth.sql

Usage


  • Password Credentials
class PasswordCredentials extends CI_Controller {
    function __construct(){
        @session_start();
        parent::__construct();
        $this->load->library("Server", "server");
        $this->server->password_credentials();	//credentials check here
    }
    function index(){
        //code here
    }
}
  • Client Credentials
class ClientCredentials extends CI_Controller {
    function __construct(){
        @session_start();
        parent::__construct();
        $this->load->library("Server", "server");
        $this->server->client_credentials(); //credentials check here
    }    
    function index(){
    	//code here
    }
}
  • Refresh Token
class RefreshToken extends CI_Controller {
    function __construct(){
        @session_start();
        parent::__construct();
        $this->load->library("Server", "server");
    }    
    function index(){
        $this->server->refresh_token(); //refresh token
    }
}
  • Get resource by OAuth2.0 authorize.
class Resource extends CI_Controller {
    function __construct(){
        @session_start();
        parent::__construct();
        $this->load->library("Server", "server");
    	$this->server->require_scope("userinfo cloud file node");//you can require scope here 
    }
    public function index(){
        //resource api controller
        echo json_encode(array('success' => true, 'message' => 'You accessed my APIs!'));
    }
}
  • More usage:

for more usage please see: application/controllers/Test.php

Features


  • Support for: Password Credentials, Client Credentials, Implicit Grant, Authorization Code grant types.

  • Refresh access token

  • From access token get resource data

  • Support for Mysql, Redis, Mongo

License


This library is under the MIT license. For the full copyright and license information, please view the LICENSE file that was distributed with this source code.