Multi purpose OAuth2 client to use in Laravel
logicly/easy-oauth-client is a Laravel package for multi purpose oauth2 client to use in laravel.
It currently has 0 GitHub stars and 17 downloads on Packagist (latest version v1.0.1).
Install it with composer require logicly/easy-oauth-client.
Discover more Laravel packages by logicly
or browse all Laravel packages to compare alternatives.
Last updated
Multipurpose OAuth2 client, configurable for a sleuth of providers through the config file.
Via Composer
$ composer require logicly/easy-oauth-client
Publish the config
$ php artisan provider:publish --provider="Logicly\EasyOAuthClient\EasyOAuthClientServiceProvider"
Configure the config using the provided example.
Then use the package as follows:
use Logicly\EasyOAuthClient\Client;
// ...
$oAuthClient = new Client("providername");
// Returns array defined in config
$response = $oAuthClient->getToken($code);
//Returns array defined in config
$response = $oAuthClient->getInfo($accesstoken);
//Returns array defined in config
$response = $oAuthClient->refreshToken($refreshtoken);
Example of config provided, edit values to match provider spec:
<?php
return [
'provider1' => [
'client_id' => '1234',
'client_secret' => '12345',
'redirect_uri' => 'https://www.example.com/oauth2/provider1',
'token' => [
'url' => 'https://login.provider.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.provider.example.com/oauth2/token',
'method' => 'POST',
'grant_type' => 'authorization_code',
'fields' => "*",
'auth' => 'body',
],
'info' => [
'url' => 'https://login.provider.example.com/oauth2/metadata',
'method' => 'GET',
'fields' => [
'metadata1',
'metadata2',
],
],
],
'provider2' => ['...'],
];
Please see the changelog for more information on what has changed recently.
$ composer test
If you discover any security related issues, please email author email instead of using the issue tracker.