
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
, (*1)
OAuth2 - Client
This Package can be used to connect to an OAuth2-Service and fetch OAuth2 restricted resources.
, (*2)
1. Installation
via Composer
Update your composer.json
"require"-Section with this line:
, (*3)
"advanced-store/oauth2-client": "dev-master"
After adding this line, run the following command:
, (*4)
composer install
or
composer update
2. Configuration
You need to publish the configuration file of this package with:
, (*5)
php artisan config:publish advanced-store/oauth2-client
The Config-File path is app/config/advanced-store/oauth2-client/config.php
Here you have to add/modify the values for your purpose.
[client.id] - Client-ID of your Application
[client.secret] - Client-Secret of your Application
[scopes] - Scopes for your Application (comma separated)
, (*6)
After modifying the Package-Config, update the app/config/app.php
Modify your providers and aliases section, with your preferred alias:
'providers' => array('AdvancedStore\Oauth2Client\Oauth2ClientServiceProvider')
'aliases' => array('OAuth2Client' => 'AdvancedStore\Oauth2Client\Facades\Oauth2ClientFacade')
, (*7)
3. Examples
Fetch Access-Token
OAuth2Client::fetchAccessToken('http://3rd.party.com/api/access_token', 'password', array(
'username' => $credentials['username'],
'password' => $credentials['password'],
'scope' => Config::get('oauth2-client::scopes'),
));
Requesting a OAuth2 - Restricted Resource/URL
$result = OAuth2Client::fetch('http://3rd.party.com/api/restriced/resource');
4. Constants
Auth methods
- AUTH_TYPE_URI
- AUTH_TYPE_AUTHORIZATION_BASIC
- AUTH_TYPE_FORM
Access token types
- ACCESS_TOKEN_URI
- ACCESS_TOKEN_BEARER
- ACCESS_TOKEN_OAUTH
- ACCESS_TOKEN_MAC
Grant types
- GRANT_TYPE_AUTH_CODE
- GRANT_TYPE_PASSWORD
- GRANT_TYPE_CLIENT_CREDENTIALS
- GRANT_TYPE_REFRESH_TOKEN
HTTP Methods
- HTTP_METHOD_GET
- HTTP_METHOD_POST
- HTTP_METHOD_PUT
- HTTP_METHOD_DELETE
- HTTP_METHOD_HEAD
- HTTP_METHOD_PATCH
HTTP Form content types
- HTTP_FORM_CONTENT_TYPE_APPLICATION
- HTTP_FORM_CONTENT_TYPE_MULTIPART