Class Oauth

Oauth 1 authentication strategy for Cake\Http\Client

This object does not handle getting Oauth access tokens from the service provider. It only handles make client requests after you have obtained the Oauth tokens.

Generally not directly constructed, but instead used by Cake\Http\Client when $options['auth']['type'] is 'oauth'

Method Summary

Method Detail

_buildAuth()source protected

_buildAuth( array $data )

Builds the Oauth Authorization header value.

Parameters

array $data
The oauth_* values to build

Returns

string

_encode()source protected

_encode( string $value )

URL Encodes a value based on rules of rfc3986

Parameters

string $value
Value to encode.

Returns

string

_hmacSha1()source protected

_hmacSha1( Cake\Http\Client\Request $request , array $credentials )

Use HMAC-SHA1 signing.

This method is suitable for plain HTTP or HTTPS.

Parameters

Cake\Http\Client\Request $request
The request object.
array $credentials
Authentication credentials.

Returns

string

_normalizeData()source protected

_normalizeData( array $args , string $path '' )

Recursively convert request data into the normalized form.

Parameters

array $args
The arguments to normalize.
string $path optional ''
The current path being converted.

Returns

array

See

https://tools.ietf.org/html/rfc5849#section-3.4.1.3.2

_normalizedParams()source protected

_normalizedParams( Cake\Http\Client\Request $request , array $oauthValues )

Sorts and normalizes request data and oauthValues

Section 9.1.1 of Oauth spec.

  • URL encode keys + values.
  • Sort keys & values by byte value.

Parameters

Cake\Http\Client\Request $request
The request object.
array $oauthValues
Oauth values.

Returns

string
sorted and normalized values

_normalizedUrl()source protected

_normalizedUrl( Psr\Http\Message\UriInterface $uri )

Builds a normalized URL

Section 9.1.2. of the Oauth spec

Parameters

Psr\Http\Message\UriInterface $uri
Uri object to build a normalized version of.

Returns

string
Normalized URL

_plaintext()source protected

_plaintext( Cake\Http\Client\Request $request , array $credentials )

Plaintext signing

This method is not suitable for plain HTTP. You should only ever use PLAINTEXT when dealing with SSL services.

Parameters

Cake\Http\Client\Request $request
The request object.
array $credentials
Authentication credentials.

Returns

string
Authorization header.

_rsaSha1()source protected

_rsaSha1( Cake\Http\Client\Request $request , array $credentials )

Use RSA-SHA1 signing.

This method is suitable for plain HTTP or HTTPS.

Parameters

Cake\Http\Client\Request $request
The request object.
array $credentials
Authentication credentials.

Returns

string

Throws

RuntimeException

authentication()source public

authentication( Cake\Http\Client\Request $request , array $credentials )

Add headers for Oauth authorization.

Parameters

Cake\Http\Client\Request $request
The request object.
array $credentials
Authentication credentials.

Returns

Cake\Http\Client\Request
The updated request.

Throws

Cake\Core\Exception\Exception
On invalid signature types.

baseString()source public

baseString( Cake\Http\Client\Request $request , array $oauthValues )

Generate the Oauth basestring

  • Querystring, request data and oauth_* parameters are combined.
  • Values are sorted by name and then value.
  • Request values are concatenated and urlencoded.
  • The request URL (without querystring) is normalized.
  • The HTTP method, URL and request parameters are concatenated and returned.

Parameters

Cake\Http\Client\Request $request
The request object.
array $oauthValues
Oauth values.

Returns

string

© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.4/class-Cake.Http.Client.Auth.Oauth.html