Skip to content
An OAuth 2 client for PHP with multiple authorization flows support
PHP
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
features
spec/Authoritarian
src/Authoritarian
.gitignore
.scrutinizer.yml
.travis.yml
LICENSE
README.md replace scrutinizer with code climate Dec 8, 2014
apigen.neon
behat.yml.dist
composer.json
phpspec.yml.dist

README.md

Authoritarian

Build Status Code Climate Test Coverage

An OAuth 2 client for PHP with multiple authorization flows support

Install

Get composer and execute:

php composer.phar require renanivo/authoritarian

Usage

Just setup your flow and request an access token:

Client Credentials Flow

<?php
use Authoritarian\OAuth2;
use Authoritarian\Flow\ClientCredentialsFlow;

$flow = new ClientCredentialsFlow();
$flow->setClientCredential('client id', 'client secret');

$oauth2 = new OAuth2('http://example.com/oauth/token');
$token = $oauth2->requestAccessToken($flow)->json();

Authorization-Code Flow

in the login page:

<?php
use Authoritarian\OAuth2;
use Authoritarian\Flow\AuthorizationCodeFlow;

$flow = new AuthorizationCodeFlow();
$flow->setAuthorizationUrl('http://example.com/oauth/authorize');
$flow->setClientCredential('client id', 'client secret');
$flow->setRedirectUri('http://example.com/callback');

header('Location: ' . $flow->getAuthUrl());

in the callback page:

<?php
use Authoritarian\OAuth2;
use Authoritarian\Flow\AuthorizationCodeFlow;

$flow = new AuthorizationCodeFlow();
$flow->setClientCredential('client id', 'client secret');
$flow->setCode($_GET['code']);

$oauth2 = new OAuth2('http://example.com/oauth/token');
$token = $oauth2->requestAccessToken($flow)->json();

Resource Owner Password

<?php
use Authoritarian\OAuth2;
use Authoritarian\Flow\ResourceOwnerPasswordFlow;

$flow = new ResourceOwnerPasswordFlow(
    'username',
    'password'
);
$flow->setClientCredential('client id', 'client secret');

$oauth2 = new OAuth2('http://example.com/oauth/token');
$token = $oauth2->requestAccessToken($flow)->json();

Generate Docs

  • Download apigen.phar:

    curl -sS http://apigen.org/installer | php
  • Run ApiGen:

    php apigen.phar generate
Something went wrong with that request. Please try again.