Asp.net Http post请求:添加头授权OAuth

Asp.net Http post请求:添加头授权OAuth,asp.net,oauth,httprequest,Asp.net,Oauth,Httprequest,我知道如何在asp.net中添加Basic的标头授权: webreq.Headers.Add(“授权”、“基本”+Convert.ToBase64String(authBytes)) OAuth的头授权类似吗 webreq.Headers.Add("Authorization", "OAuth oauth_consumer_key=\"...something..........\", oauth_nonce=\"......something............\", oauth_sign

我知道如何在asp.net中添加Basic的标头授权:

webreq.Headers.Add(“授权”、“基本”+Convert.ToBase64String(authBytes))

OAuth的头授权类似吗

webreq.Headers.Add("Authorization", "OAuth oauth_consumer_key=\"...something..........\", oauth_nonce=\"......something............\", oauth_signature=\"......something............\", oauth_signature_method=\"......something............\", oauth_timestamp=\"......something............\", oauth_token=\"......something............\", oauth_version=\"......something............\"");

或者我该怎么做?

在OAuth 2中,您将使用承载令牌,因此添加标头的代码如下所示

webreq.Headers.Add("Authorization", "Bearer -----Your token here-------");
我用以下方法解决:

string headerFormat = "OAuth oauth_nonce=\"{0}\", oauth_signature_method=\"{1}\", " +
               "oauth_timestamp=\"{2}\", oauth_consumer_key=\"{3}\", oauth_signature=\"{4}\", oauth_version=\"{5}\"";

    string authHeader = string.Format(headerFormat,
                            Uri.EscapeDataString(oauth_nonce),
                            Uri.EscapeDataString(oauth_signature_method),
                            Uri.EscapeDataString(oauth_timestamp),
                            Uri.EscapeDataString(oauth_consumer_key),
                            Uri.EscapeDataString(oauth_signature),
                            Uri.EscapeDataString(oauth_version)
                    );

    WebRequest request = WebRequest.Create(url);
    request.ContentType = "application/json; charset=utf-8";
    request.Headers.Add("Authorization", authHeader);
请记住生成oauth\u nonce、oauth\u Signature和oauth\u时间戳。

的可能副本