如果我有一个方法发送一些数据到端点,我知道我应该使用一个不记名的令牌来认证这个调用,并在请求的头部发送。发送一个不记名令牌给端点,然后验证这个令牌
说我的方法是向/从端点接收数据/看起来像这样:
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中)到端点。
- 验证此令牌从端点
我无法找到这样做的任何初学者友好的文档。