Oauth 类
Cake\Http\Client 的 Oauth 1 身份验证策略
此对象不处理从服务提供商获取 Oauth 访问令牌。它只在您获得 Oauth 令牌后处理发出客户端请求。
通常不会直接构造,而是由 {@link \Cake\Http\Client} 在 $options['auth']['type'] 为 'oauth' 时使用
方法摘要
-
_buildAuth() protected
构建 Oauth 授权头值。
-
_encode() protected
根据 rfc3986 规则对值进行 URL 编码
-
_hmacSha1() protected
使用 HMAC-SHA1 签名。
-
_normalizeData() protected
递归地将请求数据转换为标准化形式。
-
_normalizedParams() protected
对请求数据和 oauthValues 进行排序和标准化
-
_normalizedUrl() protected
构建标准化的 URL
-
_plaintext() protected
明文签名
-
_rsaSha1() protected
使用 RSA-SHA1 签名。
-
authentication() public
添加 Oauth 授权的标头。
-
baseString() public
生成 Oauth 基本字符串
-
checkSslError() protected
检查 SSL 错误,如果发现错误则抛出异常。
方法详细说明
_buildAuth() ¶ protected
_buildAuth(array $data): string
构建 Oauth 授权头值。
参数
-
array
$data 要构建的 oauth_* 值
返回值
string
_encode() ¶ protected
_encode(string $value): string
根据 rfc3986 规则对值进行 URL 编码
参数
-
string
$value 要编码的值。
返回值
string
_hmacSha1() ¶ protected
_hmacSha1(Cake\Http\Client\Request $request, array $credentials): string
使用 HMAC-SHA1 签名。
此方法适用于纯 HTTP 或 HTTPS。
参数
-
Cake\Http\Client\Request
$request 请求对象。
-
array
$credentials 身份验证凭据。
返回值
string
_normalizeData() ¶ protected
_normalizeData(array $args, string $path = ''): array
递归地将请求数据转换为标准化形式。
参数
-
array
$args 要标准化的参数。
-
string
$path optional 正在转换的当前路径。
返回值
array
另请参阅
_normalizedParams() ¶ protected
_normalizedParams(Cake\Http\Client\Request $request, array $oauthValues): string
对请求数据和 oauthValues 进行排序和标准化
Oauth 规范的第 9.1.1 节。
- URL 编码键 + 值。
- 按字节值对键和值进行排序。
参数
-
Cake\Http\Client\Request
$request 请求对象。
-
array
$oauthValues Oauth 值。
返回值
string
_normalizedUrl() ¶ protected
_normalizedUrl(Psr\Http\Message\UriInterface $uri): string
构建标准化的 URL
Oauth 规范的第 9.1.2 节
参数
-
Psr\Http\Message\UriInterface
$uri 用于构建标准化版本的 Uri 对象。
返回值
string
_plaintext() ¶ protected
_plaintext(Cake\Http\Client\Request $request, array $credentials): string
明文签名
此方法不适用于纯 HTTP。您应该只在处理 SSL 服务时使用 PLAINTEXT。
参数
-
Cake\Http\Client\Request
$request 请求对象。
-
array
$credentials 身份验证凭据。
返回值
string
_rsaSha1() ¶ protected
_rsaSha1(Cake\Http\Client\Request $request, array $credentials): string
使用 RSA-SHA1 签名。
此方法适用于纯 HTTP 或 HTTPS。
参数
-
Cake\Http\Client\Request
$request 请求对象。
-
array
$credentials 身份验证凭据。
返回值
string
authentication() ¶ public
authentication(Cake\Http\Client\Request $request, array $credentials): Cake\Http\Client\Request
添加 Oauth 授权的标头。
参数
-
Cake\Http\Client\Request
$request 请求对象。
-
array
$credentials 身份验证凭据。
返回值
Cake\Http\Client\Request
抛出
Cake\Core\Exception\CakeException
在无效的签名类型上。
baseString() ¶ public
baseString(Cake\Http\Client\Request $request, array $oauthValues): string
生成 Oauth 基本字符串
- 组合查询字符串、请求数据和 oauth_* 参数。
- 按名称,然后按值对值进行排序。
- 连接和 URL 编码请求值。
- 标准化请求 URL(不含查询字符串)。
- 连接 HTTP 方法、URL 和请求参数,然后返回。
参数
-
Cake\Http\Client\Request
$request 请求对象。
-
array
$oauthValues Oauth 值。
返回值
string
checkSslError() ¶ protected
checkSslError(): void
检查 SSL 错误,如果发现错误则抛出异常。
返回值
void
抛出
Cake\Core\Exception\CakeException
当发现错误时