Documentation

OAuthInterface extends ClientInterface

Specifies the basic methods for an OAuth provider.

Table of Contents

Constants

DEFAULT_SCOPES  = []
Default scopes to apply if none were provided via the $scopes parameter
HEADERS_API  = []
additional headers to use during API access
HEADERS_AUTH  = []
additional headers to use during authentication
IDENTIFIER  = ''
An identifier for the provider, usually the class name in ALLCAPS (required)
SCOPES_DELIMITER  = ' '
The delimiter string for scopes
USER_AGENT  = 'chillerlanPhpOAuth/1.0.0 +https://github.com/chillerlan/php-oauth'
A common user agent string that can be used in requests

Methods

getAccessTokenFromStorage()  : AccessToken
Gets an access token from the current OAuthStorageInterface (shorthand/convenience)
getApiDocURL()  : string|null
Returns the link to the provider's API docs, or null if the value is not set
getApplicationURL()  : string|null
Returns the link to the provider's credential registration/application page, or null if the value is not set
getAuthorizationURL()  : UriInterface
Prepares the URL with optional $params which redirects to the provider's authorization prompt and returns a PSR-7 UriInterface with all necessary parameters set.
getName()  : string
Returns the name of the provider/class
getRequestAuthorization()  : RequestInterface
Authorizes the $request with the credentials from the given $token and returns a PSR-7 RequestInterface with all necessary headers and/or parameters set
getStorage()  : OAuthStorageInterface
Returns the current OAuthStorageInterface
getUserRevokeURL()  : string|null
Returns the link to the page where a user can revoke access tokens, or null if the value is not set
request()  : ResponseInterface
Prepares an API request to $path with the given parameters, gets authorization, fires the request and returns a PSR-7 ResponseInterface with the corresponding API response
setLogger()  : static
Sets an optional PSR-3 LoggerInterface
setRequestFactory()  : static
Sets an optional PSR-17 RequestFactoryInterface
setStorage()  : static
Sets an optional OAuthStorageInterface
setStreamFactory()  : static
Sets an optional PSR-17 StreamFactoryInterface
setUriFactory()  : static
Sets an optional PSR-17 UriFactoryInterface
storeAccessToken()  : static
Sets an access token in the current OAuthStorageInterface (shorthand/convenience)

Constants

DEFAULT_SCOPES

Default scopes to apply if none were provided via the $scopes parameter

public array<string|int, string> DEFAULT_SCOPES = []

HEADERS_API

additional headers to use during API access

public array<string, string> HEADERS_API = []

Note: must not contain: Authorization

HEADERS_AUTH

additional headers to use during authentication

public array<string, string> HEADERS_AUTH = []

Note: must not contain: Accept-Encoding, Authorization, Content-Length, Content-Type

IDENTIFIER

An identifier for the provider, usually the class name in ALLCAPS (required)

public string IDENTIFIER = ''

SCOPES_DELIMITER

The delimiter string for scopes

public string SCOPES_DELIMITER = ' '

USER_AGENT

A common user agent string that can be used in requests

public string USER_AGENT = 'chillerlanPhpOAuth/1.0.0 +https://github.com/chillerlan/php-oauth'

Methods

getAccessTokenFromStorage()

Gets an access token from the current OAuthStorageInterface (shorthand/convenience)

public getAccessTokenFromStorage() : AccessToken
Return values
AccessToken

getApiDocURL()

Returns the link to the provider's API docs, or null if the value is not set

public getApiDocURL() : string|null
Return values
string|null

getApplicationURL()

Returns the link to the provider's credential registration/application page, or null if the value is not set

public getApplicationURL() : string|null
Return values
string|null

getAuthorizationURL()

Prepares the URL with optional $params which redirects to the provider's authorization prompt and returns a PSR-7 UriInterface with all necessary parameters set.

public getAuthorizationURL([array<string, scalar>|null $params = null ][, array<string|int, string>|null $scopes = null ]) : UriInterface

If the provider supports RFC-9126 "Pushed Authorization Requests (PAR)", a request to the PAR endpoint shall be made within this method in order to send authorization data and obtain a temporary request URI.

Parameters
$params : array<string, scalar>|null = null
$scopes : array<string|int, string>|null = null
Tags
link
https://datatracker.ietf.org/doc/html/rfc5849#section-2.2
link
https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.1
link
https://datatracker.ietf.org/doc/html/rfc9126
see
PAR
Return values
UriInterface

getName()

Returns the name of the provider/class

public getName() : string
Return values
string

getRequestAuthorization()

Authorizes the $request with the credentials from the given $token and returns a PSR-7 RequestInterface with all necessary headers and/or parameters set

public getRequestAuthorization(RequestInterface $request[, AccessToken|null $token = null ]) : RequestInterface
Parameters
$request : RequestInterface
$token : AccessToken|null = null
Tags
see
OAuthProvider::sendRequest()
Return values
RequestInterface

getUserRevokeURL()

Returns the link to the page where a user can revoke access tokens, or null if the value is not set

public getUserRevokeURL() : string|null
Return values
string|null

request()

Prepares an API request to $path with the given parameters, gets authorization, fires the request and returns a PSR-7 ResponseInterface with the corresponding API response

public request(string $path[, array<string, scalar|bool|null>|null $params = null ][, string|null $method = null ][, StreamInterface|array<string, scalar|bool|null>|string|null $body = null ][, array<string, string>|null $headers = null ][, string|null $protocolVersion = null ]) : ResponseInterface
Parameters
$path : string
$params : array<string, scalar|bool|null>|null = null
$method : string|null = null
$body : StreamInterface|array<string, scalar|bool|null>|string|null = null
$headers : array<string, string>|null = null
$protocolVersion : string|null = null
Return values
ResponseInterface

setLogger()

Sets an optional PSR-3 LoggerInterface

public setLogger(LoggerInterface $logger) : static
Parameters
$logger : LoggerInterface
Return values
static

setRequestFactory()

Sets an optional PSR-17 RequestFactoryInterface

public setRequestFactory(RequestFactoryInterface $requestFactory) : static
Parameters
$requestFactory : RequestFactoryInterface
Return values
static

setStreamFactory()

Sets an optional PSR-17 StreamFactoryInterface

public setStreamFactory(StreamFactoryInterface $streamFactory) : static
Parameters
$streamFactory : StreamFactoryInterface
Return values
static

setUriFactory()

Sets an optional PSR-17 UriFactoryInterface

public setUriFactory(UriFactoryInterface $uriFactory) : static
Parameters
$uriFactory : UriFactoryInterface
Return values
static

storeAccessToken()

Sets an access token in the current OAuthStorageInterface (shorthand/convenience)

public storeAccessToken(AccessToken $token) : static
Parameters
$token : AccessToken
Return values
static

        
On this page

Search results