簡體   English   中英

DotNetOpenAuth預期的IProtocolMessage消息

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM