Download the PHP package kamermans/guzzle4-oauth2-subscriber without Composer
On this page you can find all versions of the php package kamermans/guzzle4-oauth2-subscriber. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package guzzle4-oauth2-subscriber
guzzle-oauth2-subscriber
Provides an OAuth2 subscriber for Guzzle 4.x and 5.x.
Attribution
This plugin is based on the Guzzle 3.x OAuth2 plugin by Bojan Zivanovic and Damien Tournoud from the CommerceGuys guzzle-oauth2-plugin repository.
I originally forked that project, but moved to a new repo since most of the code has changed and I needed to reset the versions to < 1.0.
Features
- Acquires access tokens via one of the supported grant types (code, client credentials, user credentials, refresh token). Or you can set an access token yourself.
- Supports refresh tokens (stores them and uses them to get new access tokens).
- Handles token expiration (acquires new tokens and retries failed requests).
- Allows storage and lookup of access tokens via callbacks
Usage
This plugin extends Guzzle, transparently adding authentication to outgoing requests and optionally attempting reauthorization if the access token is no longer valid.
There are several grant types available like PasswordCredentials
, ClientCredentials
and AuthorizationCode
.
Access Token Method
If you already have an access token, you can use that to authenticate to a service, but beware that access tokens are meant to expire, and the process of obtaining a new access token is included in this library as well (for example, by using the PasswordCredentials
method).
Here's how to use an existing access token for the request, thus no re-authorization client is needed:
Client Credentials Method
Client credentials are normally used in server-to-server authentication. With this grant type, a client is requesting authorization in its own behalf, so there are only two parties involved. At a minimum, a client_id
and client_secret
are required, although many services require a scope
and other parameters.
Here's an example of the client credentials method: