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|false

生成一个基于最终 HTTP 方法、URL 和 一个字符串/数组参数的签名。

参数

http_method

用来请求的 HTTP 方法

url

用来请求的 URL

extra_parameters

字符串或数组的附加参数

返回值

一个包含签名的字符串 或者在失败时返回 false

添加备注

用户贡献的备注 1 note

up
-2
vk221000 at gmail dot com
3 years 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;    }?>
To Top