如果我有一個方法發送一些數據到端點,我知道我應該使用一個不記名的令牌來認證這個調用,並在請求的頭部發送。發送一個不記名令牌給端點,然後驗證這個令牌
說我的方法是向/從端點接收數據/看起來像這樣:
public async Task<string> PostGetAsync()
{
var uri = new Uri("https://localhost:44322/endpoint");
using (var client = new HttpClient())
{
var pairs = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>("Key", "Value")
};
var content = new FormUrlEncodedContent(pairs);
var response = await client.PostAsync(uri, content);
if (response.StatusCode != HttpStatusCode.OK)
{
return "Error posting KeyValue";
}
string responseString = response.Content.ReadAsStringAsync().Result;
JArray json = JArray.Parse(responseString);
try
{
var returnedJson = json[returnedData];
return returnedJson.ToString();
}
catch (Exception e)
{
return "Index is out of bounds";
}
}
}
而且運行時端點被稱之爲這個方法:
public async Task<JsonResult> endpoint()
{
List<Example> items = new List<Example>();
NameValueCollection nvc = Request.Form;
string keyString = nvc["Key"];
try
{
items = await GetService.GetList(keyString);
}
catch (ServiceException se)
{
}
return Json(items, JsonRequestBehavior.AllowGet);
}
怎麼辦I:
- 發送無記名令牌(自定義存儲在azure keyvault中)到端點。
- 驗證此令牌從端點
我無法找到這樣做的任何初學者友好的文檔。