0
我正嘗試使用令牌承載進行連接從我的.net Consoleapp
向遠程WebApi
身份驗證。C#對此請求的授權已被拒絕
儘管我的程序有一個成功的標記返回,在我PostAsync
法其實我得到以下信息:
「授權已被拒絕了這個請求」
我的代碼是以下內容
hHttpClient client = new HttpClient();
client.BaseAddress = new Uri(URL);
HttpContent Content = new StringContent(string.Format("grant_type=password&username={0}&password={1}",
HttpUtility.UrlEncode(ApiLoginUsername),
HttpUtility.UrlEncode(ApiLoginPassword)), Encoding.UTF8,
"application/x-www-form-urlencoded");
HttpResponseMessage response = client.PostAsync("/api/login", Content).Result;
string resultJSON = response.Content.ReadAsStringAsync().Result;
result = JsonConvert.DeserializeObject<LoginTokenResult>(resultJSON);
到目前爲止好的代碼返回一個令牌並將其存儲在結果中
以下部分不與以下:隨着我收到我試圖以檢索某些數據
HttpContent TestContent = new StringContent(string.Format("Authorization","Bearer"+ result.AccessToken,"application/json"));
var Product = client.PostAsync("/api/Report",TestContent).Result;----> This is where it says Authorization denied
var test = Product.Content.ReadAsStringAsync().Result;
return result;
爲什麼我得到test
消息中「授權已被拒絕了這個請求」令牌 我在代碼中丟失了重要的東西嗎?任何幫助,將不勝感激
這可能是一些原因,但我的猜測是,這是因爲「承載」和「result.AccessToken」之間沒有空格。 –
@Kirk感謝您的快速回復,但這不是您建議的 –
授權/承載是請求標題。 –