Skip to content

365Werk/Laravel-OAuth-Client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel OAuth Client

Latest Version on Packagist Total Downloads StyleCI

Multi-purpose OAuth client, configurable for a sleuth of providers through the config file.

Installation

Via Composer

$ composer require werk365/laraveloauthclient

Usage

Publish the config

$ php artisan vendor:publish --provider="Werk365\LaravelOAuthClient\LaravelOAuthClientServiceProvider"

Configure the config using the provided example.

Then use the package as follows:

use Werk365\LaravelOAuthClient\LaravelOAuthClient as OAuth;

// ...

$oauth = new OAuth("vendorname");

// Returns array defined in config
$response = $oauth->getToken($code);

//Returns array defined in config
$response = $oauth->getInfo($accesstoken);

//Returns array defined in config
$response = $oauth->refreshToken($refreshtoken);

Config

Example of config provided, edit values to match vendor spec:

<?php

return [
    'vendor1' => [
        'client_id' => '1234',
        'client_secret' => '12345',
        'redirect_uri' => 'https://www.example.com/oauth2/vendor1',
        'token' => [
            'url' => 'https://login.vendor.example.com/oauth2/token',
            'method' => 'POST',
            'grant_type' => 'authorization_code',
            'fields' => [
                'access_token' => 'access_token',
                'expires_in' => 'expires_in',
                'refresh_token' => 'refresh_token',
            ],
            'auth' => 'body',
        ],
        'refresh' => [
            'url' => 'https://login.vendor.example.com/oauth2/token',
            'method' => 'POST',
            'grant_type' => 'authorization_code',
            'fields' => "*",
            'auth' => 'body',
        ],
        'info' => [
            'url' => 'https://login.vendor.example.com/oauth2/metadata',
            'method' => 'GET',
            'fields' => [
                'metadata1',
                'metadata2',
            ],
        ],
    ],
    'vendor2' => ['...'],
];

Change log

Please see the changelog for more information on what has changed recently.

Testing

$ composer test

Security

If you discover any security related issues, please email author email instead of using the issue tracker.

About

Multi purpose OAuth client to use in Laravel

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages