gpt4 book ai didi

curl - Golang 单足/双足oauth 1.0a认证

转载 作者:IT王子 更新时间:2023-10-29 02:23:14 24 4
gpt4 key购买 nike

我正在寻找一个库来帮助我使用单向身份验证通过 oauth 1.0a 对服务进行身份验证。我只有一个 consumerKeyconsumerSecretresource url

示例在 curl、PHP 和 Python 中可用。我正在尝试使用 GoLang 进行身份验证。

curl
-X GET
-H "Content-Type: application/json"
-H 'Authorization: OAuth realm="https://example.com",oauth_consumer_key="1234-5678-91011",oauth_signature_method="HMAC-SHA1",oauth_timestamp="1424789327",oauth_nonce="abcde",oauth_version="1.0",oauth_signature="3iwWBq%2FHaBcDl9Q1o%2BjAc%2BKz8J%2FE%3D"'
https://example.com

PHP

require 'vendor/autoload.php';

use Guzzle\Http\Client;
use Guzzle\Plugin\Oauth\OauthPlugin;

$client = new Client('https://example.com');
$oauth = new OauthPlugin(array(
'consumer_key' => '1234-5648-9101',
'consumer_secret' => 'abcde',
));
$client->addSubscriber($oauth);

$response = $client->get('/')->send();
echo $response->getBody();

python

from requests_oauthlib import OAuth1Session

key = '1234-5648-9101'
secret = 'abcde'
example = OAuth1Session(key, client_secret=secret)
url = 'https://example.com'
r = example.get(url)
print r._content

我看过很多 Golang 中的 oauth 库。

https://github.com/mrjones/oauth ,需要:RequestTokenUrlAccessTokenUrlAuthorizeTokenUrl回调 url

http://godoc.org/github.com/nhjk/oauth ,需要:tokenKeytokenSecret 以及 consumerKeyconsumerSecret

是否有一个库可以让我像上面的 php 和 python 示例一样轻松地使用服务进行身份验证?如果我可以使用上面的库之一,有人可以提供代码片段示例吗?我尝试的任何操作都只会返回未经授权的响应。

最佳答案

Golang 对框架有不同的看法,出于一个原因,您不需要它们。您可以使用标准的 http 包轻松设置响应的 header 。当您掌握了它的窍门时,您会意识到您正在处理一流的对象,而这正是其他语言框架正在尝试实现的。

类似这个函数

  func saveHandler(w http.ResponseWriter, r *http.Request) {
// allow cross domain AJAX requests
w.Header().Set("Access-Control-Allow-Origin", "*")
}

关于curl - Golang 单足/双足oauth 1.0a认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37155381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com