advanced-store/oauth2-client

This package is abandoned and no longer maintained. No replacement package was suggested.

Oauth2-Client for simple connect with Oauth2-Server (3rd Party or Own-Aplications)

dev-master 2015-10-20 13:47 UTC

This package is not auto-updated.

Last update: 2020-01-24 15:28:38 UTC


README

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

OAuth2 - Client

This Package can be used to connect to an OAuth2-Service and fetch OAuth2 restricted resources.

1. Installation

via Composer

Update your composer.json "require"-Section with this line:

    
    "advanced-store/oauth2-client": "dev-master"
    

After adding this line, run the following command:

    
    composer install
    or
    composer update
    

2. Configuration

You need to publish the configuration file of this package with:

    
    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)

After modifying the Package-Config, update the app/config/app.php
Modify your providers and aliases section, with your preferred alias:

<code><b>'providers' => array('AdvancedStore\Oauth2Client\Oauth2ClientServiceProvider')</b></code>
<br>
<code><b>'aliases' => array('OAuth2Client'	=> 'AdvancedStore\Oauth2Client\Facades\Oauth2ClientFacade')</b></code>

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