Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
 * GitHub OAuth2 Provider
 *
 * @package    CodeIgniter/OAuth2
 * @category   Provider
 * @author     Phil Sturgeon
 * @copyright  (c) 2012 HappyNinjas Ltd
 * @license    http://philsturgeon.co.uk/code/dbad-license
 */

class OAuth2_Provider_Github extends OAuth2_Provider
{
        public function url_authorize()
        {
                return 'https://github.com/login/oauth/authorize';
        }

        public function url_access_token()
        {
                return 'https://github.com/login/oauth/access_token';
        }

        public function get_user_info(OAuth2_Token_Access $token)
        {
                $url = 'https://api.github.com/user?'.http_build_query(array(
                        'access_token' => $token->access_token,
                ));

                $user = json_decode(file_get_contents($url));

                // Create a response from the request
                return array(
                        'uid' => $user->id,
                        'nickname' => $user->login,
                        'name' => $user->name,
                        'email' => $user->email,
                        'urls' => array(
                          'GitHub' => 'http://github.com/'.$user->login,
                          'Blog' => $user->blog,
                        ),
                );
        }
}