2024 PHP Conference Japan

OAuth::generateSignature

(沒有可用的版本資訊,可能只在 Git 中)

OAuth::generateSignature產生簽章

說明

公開 OAuth::generateSignature(字串 $http_method, 字串 $url, 混合 $extra_parameters = ?): 字串|false

根據最終的 HTTP 方法、URL 和字串/陣列參數產生簽章。

參數

http_method

請求的 HTTP 方法

url

請求的 URL

extra_parameters

額外的參數字串或陣列。

回傳值

包含已產生簽章的字串,或失敗時回傳 false

新增註解

使用者貢獻的註解 1 則註解

vk221000 at gmail dot com
2 年前
<?php
/**
* 取得 OAuth 1.0 請求的簽章
*
* @param string $url 發送請求的網址。
* @param string $consumer_key 請求憑證的消費者金鑰。
* @param string $consumer_secret 請求憑證的消費者密鑰。
* @param string $method GET、POST 等方法。
* @param array|false $params 請求期間要發送的參數。
* @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;
}
?>
To Top