W3cubDocs

/CakePHP 4.4

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 {@link \Cake\Http\Client} when $options['auth']['type'] is 'oauth'

Method Summary

Method Detail

_buildAuth() protected

_buildAuth(array $data): string

Builds the Oauth Authorization header value.

Parameters

array $data

The oauth_* values to build

Returns

string

_encode() protected

_encode(string $value): string

URL Encodes a value based on rules of rfc3986

Parameters

string $value

Value to encode.

Returns

string

_hmacSha1() protected

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

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(array $args, string $path = ''): array

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(Cake\Http\Client\Request $request, array $oauthValues): string

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

_normalizedUrl() protected

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

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

_plaintext() protected

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

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

_rsaSha1() protected

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

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): Cake\Http\Client\Request

Add headers for Oauth authorization.

Parameters

Cake\Http\Client\Request $request

The request object.

array $credentials

Authentication credentials.

Returns

Cake\Http\Client\Request

Throws

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

baseString() public

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

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

checkSslError() protected

checkSslError(): void

Check for SSL errors and raise if one is encountered.

Returns

void

© 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/4.4/class-Cake.Http.Client.Auth.Oauth.html