1

我目前正在使用带有oauthconnector的 drupal来与不同的服务进行交互。

我正在尝试连接 Freelancer.com(沙盒环境),当我登录服务时出现错误 (REMOVED_984c3db">https://www.sandbox.freelancer.com/users/api- token/auth.php?oauth_token=21b7e73_ REMOVED _984c3db - 为了安全起见,我在这里删除了一些 oauth_token :) )

找不到令牌。

在 1 秒内,您将被自动重定向。

或单击此处继续。

4

1 回答 1

1

我终于想通了。

OAUTH 协议中获取 requestToken 的正常行为是发送一个 HTTP-POST,其中包含一个 http.authorization 标头。这里面的数据,如下

oauth_version=\"1.0\",oauth_nonce=\"87_ HIDDEN _66bd\",oauth_timestamp=\"1365000670\",oauth_consumer_key=\"de99_ HIDDEN _cf18\",oauth_callback=\" htt_HIDDEN_Fauthorized \",oauth_signature_method=\" HMAC-SHA1\",oauth_signature=\"hyT_HIDDEN _sc %3D\"

可悲的是,freelancer.com 不能接受这一点。这些参数必须在 HTTP-GET 中发送,数据作为查询参数。

像这样:/RequestRequestToken/requestRequestToken.json?oauth_version=1.0&oauth_nonce= 5bb_HIDDEN _144&oauth_timestamp=1365013875&oauth_consumer_key=de9_ HIDDEN _cf18&oauth_callback=http_ HIDDEN _authorized &oauth_signature_method=HMAC-SHA1& oauth_signD3

奇怪的是,“错误”的请求实际上返回了一个 request_token - 这是行不通的。

于 2013-04-04T06:22:13.507 回答