Asp.net Http post请求:添加头授权OAuth
我知道如何在asp.net中添加Basic的标头授权: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
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时间戳。的可能副本