Home

Awesome

Laravel OAuth

Build Status Coverage Status

A Laravel OAuth 1 and 2 library, using PHPoAuthLib. This library shares the Laravel session to store tokens and supports the services configuration file that was introduced in Laravel.

Supported services

Installation

Install using composer:

composer require jenssegers/oauth

Add the service provider in app/config/app.php:

'Jenssegers\OAuth\OAuthServiceProvider',

Add the OAuth alias to app/config/app.php:

'OAuth'            => 'Jenssegers\OAuth\Facades\OAuth',

Configuration

This package supports configuration through the services configuration file located in config/services.php:

'facebook' => [
    'client_id'     => 'your-client-id',
    'client_secret' => 'your-client-secret',
    'scope'         => [],
]

Usage

Once you have added your credentials, you can create PHPoAuthLib service objects like this:

$oauth = OAuth::consumer('facebook');

To override the default redirect url, or scope use:

$oauth = OAuth::consumer('facebook', URL::to('url'), ['email', 'publish_actions']);

Once you have the service object, you can use it to interact with the service's API. For more information check out PHPoAuthLib.

Example

Example usage for the Facebook API.

$facebook = OAuth::consumer('facebook');

// Response from Facebook
if ($code = Input::get('code'))
{
    $token = $facebook->requestAccessToken($code);

    $result = json_decode($facebook->request('/me'), true);

    echo 'Your unique facebook user id is: ' . $result['id'] . ' and your name is ' . $result['name'];
}

// Redirect to login
else
{
    return Redirect::away((string) $facebook->getAuthorizationUri());
}

For more examples check out PHPoAuthLib.