Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
forked from adoy/PHP-OAuth2

Light PHP wrapper for the OAuth 2.0 protocol (based on OAuth 2.0 Authorization Protocol draft-ietf-oauth-v2-15)

Notifications You must be signed in to change notification settings

why404/PHP-OAuth2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

40 Commits

Repository files navigation

 ___________________________________
 Light PHP (>= 5.1.0) wrapper for the OAuth 2.0
 ___________________________________
ORIGINAL AUTHOR
================
Charron Pierrick
 - pierrick@webstart.fr
Berejeb Anis
 - anis.berejeb@gmail.com
UPDATED BY & CONTACT
===============
404
 - why404@gmail.com
LICENSE
=======
This Code is released under the GNU LGPL
Please do not change the header of the file(s).
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Lesser General Public License for more details.
How can I use it ?
==================
require('client.php');
const CLIENT_ID = 'your client id';
const CLIENT_SECRET = 'your client secret';
const REDIRECT_URI = 'http://url/of/this.php';
const AUTHORIZATION_ENDPOINT = 'https://graph.facebook.com/oauth/authorize';
const TOKEN_ENDPOINT = 'https://graph.facebook.com/oauth/access_token';
$client = new OAuth2_Client(CLIENT_ID, CLIENT_SECRET);
if (!isset($_GET['code']))
{
 $auth_url = $client->getAuthenticationUrl(AUTHORIZATION_ENDPOINT, REDIRECT_URI);
 header('Location: ' . $auth_url);
 die('Redirect');
}
else
{
 $params = array('code' => $_GET['code'], 'redirect_uri' => REDIRECT_URI);
 $response = $client->getAccessToken(TOKEN_ENDPOINT, 'authorization_code', $params);
 parse_str($response['result'], $info);
 $client->setAccessToken($info['access_token']);
 $response = $client->fetch('https://graph.facebook.com/me');
 var_dump($response, $response['result']);
}
How can I add a new Grant Type ?
================================
You can place the class file under GrantType dir.
Here is an example :
require_once('../Exception.php');
require_once('IGrantType.php');
/**
 * MyCustomGrantType Grant Type
 */
class MyCustomGrantType implements OAuth2_GrantType_IGrantType
{
 /**
 * Defines the Grant Type
 *
 * @var string Defaults to 'my_custom_grant_type'.
 */
 const GRANT_TYPE = 'my_custom_grant_type';
 /**
 * Adds a specific Handling of the parameters
 *
 * @return array of Specific parameters to be sent.
 * @param mixed $parameters the parameters array (passed by reference)
 */
 public function validateParameters(&$parameters)
 {
 if (!isset($parameters['first_mandatory_parameter']))
 {
 throw new OAuth2_Exception('The \'first_mandatory_parameter\' parameter must be defined for the Password grant type');
 }
 elseif (!isset($parameters['second_mandatory_parameter']))
 {
 throw new OAuth2_Exception('The \'seconde_mandatory_parameter\' parameter must be defined for the Password grant type');
 }
 }
}
call the OAuth client getAccessToken with the grantType you defined in the GRANT_TYPE constant, As following :
$response = $client->getAccessToken(TOKEN_ENDPOINT, 'my_custom_grant_type', $params);

About

Light PHP wrapper for the OAuth 2.0 protocol (based on OAuth 2.0 Authorization Protocol draft-ietf-oauth-v2-15)

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%

AltStyle によって変換されたページ (->オリジナル) /