OAuth::generateSignature
(No version information available, might only be in Git)
OAuth::generateSignature — 生成一个签名
说明
public OAuth::generateSignature(string
$http_method
, string $url
, mixed $extra_parameters
= ?): string生成一个基于最终 HTTP 方法、URL 和 一个字符串/数组参数的签名。
参数
-
http_method
-
用来请求的 HTTP 方法
-
url
-
用来请求的 URL
-
extra_parameters
-
字符串或数组的附加参数
返回值
一个包含签名的字符串 或者在失败时返回 false

User Contributed Notes 1 note
vk221000 at gmail dot com ¶
5 months ago
<?php
/**
* Get signature for the request Oauth 1.0
*
* @param string $url url to send request to.
* @param string $consumer_key consumer key for the request credential.
* @param string $consumer_secret consumer secret for the request credential.
* @param string $method GET, POST etc methods.
* @param array|false $params parameters to send during the request.
* @since 1.0.0
* @return string
*/
public function get_signature( $url, $consumer_key, $consumer_secret, $method = 'GET', $params = false ) {
$nonce = mt_rand();
$timestamp = time();
$oauth = new \OAuth( $consumer_key, $consumer_secret );
$oauth->setTimestamp( $timestamp );
$oauth->setNonce( $nonce );
$sig = $oauth->generateSignature( $method, $url, $params );
$header = 'OAuth ' .
'oauth_consumer_key=' . $consumer_key .
',oauth_signature_method="HMAC-SHA1"' .
',oauth_nonce="'. $nonce . '"' .
',oauth_timestamp="' . $timestamp . '"'.
',oauth_version="1.0"'.
',oauth_signature="' . urlencode( $sig ) . '"'
;
return $header;
}
?>
备份地址:http://www.lvesu.com/blog/php/oauth.generatesignature.php