Cidaas Provider for OAuth 2.0 Client
This package provides cidaas OAuth 2.0 support for the PHP League's OAuth 2.0 Client.
Installation
To install, use composer:
composer require "cidaas/oauth2-cidaas @dev"
Usage
Usage is the same as The League's OAuth client, using Cidaas\OAuth2\Client\Provider\Cidaas as the provider.
Implicit Flow
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use Cidaas\OAuth2\Client\Provider\Cidaas;
use \League\OAuth2\Client\Token\AccessToken;
$provider = new Cidaas([
'baseUrl' => 'yourcidaasbaseurl',
'clientId' => 'xxxx', // The client ID assigned to you by the provider
'clientSecret' => 'yyyy', // The client password assigned to you by the provider
'redirectUri' => 'https://yourredirecturl'
]);
print_r($provider->getAuthorizationUrl(["response_type"=>'token']));
print_r("\n");
echo "Copy Paste the above URL in the browser and login and Enter the Access Token : ";
$handle = fopen ("php://stdin","r");
$line = fgets($handle);
$accessToken2 = new AccessToken(["access_token" => trim($line)]);
$resourceOwner = $provider->getResourceOwner($accessToken2);
print_r($resourceOwner);
Authorization Code Flow
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use Cidaas\OAuth2\Client\Provider\Cidaas;
$provider = new Cidaas([
'baseUrl' => 'yourcidaasbaseurl',
'clientId' => 'xxxx', // The client ID assigned to you by the provider
'clientSecret' => 'yyyy', // The client password assigned to you by the provider
'redirectUri' => 'https://yourredirecturl'
]);
print_r($provider->getAuthorizationUrl(["response_type"=>'code']));
print_r("\n");
echo "Copy Paste the above URL in the browser and login and Enter the Code : ";
$handle = fopen ("php://stdin","r");
$line = fgets($handle);
$accessToken = $provider->getAccessToken('authorization_code', [
'code' => trim($line)
]);
print_r($accessToken->getToken());
print_r("\n");
print_r($accessToken->getRefreshToken());
print_r("\n");
$resourceOwner = $provider->getResourceOwner($accessToken);
print_r($resourceOwner);
print_r("\n");
Refreshing a Token
$refrehToken = $provider->getAccessToken('refresh_token', [
'refresh_token' => trim($accessToken->getRefreshToken())
]);
print_r($refrehToken->getToken());
print_r("\n");
Client Credentials Flow
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use Cidaas\OAuth2\Client\Provider\Cidaas;
use \League\OAuth2\Client\Token\AccessToken;
$provider = new Cidaas([
'baseUrl' => 'yourcidaasbaseurl',
'clientId' => 'xxxx', // The client ID assigned to you by the provider
'clientSecret' => 'yyyy', // The client password assigned to you by the provider
]);
$accessToken = $provider->getAccessToken('client_credentials');
print_r($accessToken->getToken());
print_r("\n");
$accessToken2 = new AccessToken(["access_token" => $accessToken->getToken()]);
$resourceOwner = $provider->getResourceOwner($accessToken2);
print_r($resourceOwner);
print_r("\n");