![](/img/trans.png)
[英]DotnetOpenAuth - POST message to the service which accepts different charset
[英]DotNetOpenAuth Expected IProtocolMessage message
我正在嘗試請求身份驗證令牌:
public static void RequestAuthorization(WebConsumer consumer)
{
var extraParams = new Dictionary<string, string> {
{ "oauth_token", string.Empty},
{ "oauth_callback", "http://www.ihighfive.com/" },
};
var req = consumer.PrepareRequestUserAuthorization(callback, extraParams, null);
consumer.Channel.Send(req);
}
問題是,當我運行.PrepareRequestUserAuthorization()時,出現以下錯誤
預期的IProtocolMessage消息,但未收到可識別的消息。
通過Fiddler檢查請求/響應,我可以看到響應返回(值混淆):
{ "oauth_token" : "this-is-the-oauth-token",
"oauth_token_secret" : "this-is-the-oauth-secret-token",
"oauth_callback_confirmed" : true,
"urlToSendUserTo" : "http://blah.blah.com/api/OAuthAuthorizeToken.aspx?oauth_token=token-value-is-really-long"}
對我來說,這似乎是一個很好的回應。 如果我訪問urlToSendUserTo,它將起作用,然后將我傳遞給我的初始回調URL。 因此,我想DNOA在解析響應時遇到問題,但是我不明白為什么。
服務器使用什么協議? 它不是OAuth 1.0,但您在DotNetOpenAuth中使用OAuth 1.0類。 OAuth 1.0要求響應應采用application/x-www-form-urlencoded
格式,但在響應的摘要中,顯然應使用JSON。
另外,我從沒看過任何規范中的urlToSendUserTo
參數,也不知道為什么在請求中發送空的oauth_token
作為額外參數。
您和/或服務器似乎說的是非常不同的語言。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.