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() protected

_buildAuth(mixed $data)

Builds the Oauth Authorization header value.

Parameters

array $data

The oauth_* values to build

Returns

string

_encode() protected

_encode(mixed $value)

URL Encodes a value based on rules of rfc3986

Parameters

string $value

Value to encode.

Returns

string

_hmacSha1() protected

_hmacSha1(mixed $request, mixed $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() protected

_normalizeData(mixed $args, mixed $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 Also

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

_normalizedParams() protected

_normalizedParams(mixed $request, mixed $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() protected

_normalizedUrl(mixed $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() protected

_plaintext(mixed $request, mixed $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() protected

_rsaSha1(mixed $request, mixed $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() 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() public

baseString(mixed $request, mixed $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–present 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.9/class-Cake.Http.Client.Auth.Oauth.html