0
我有以下的控制器功能:如何將授權添加到Response.Header?
[HttpGet("[action]")]
public async Task<HttpResponseMessage> Login(string username, string password)
{
var user = await _userManager.FindByNameAsync(username);
var res = await _signInManager.CheckPasswordSignInAsync(user, password, false);
if (res.Succeeded)
{
var msg = new HttpResponseMessage(HttpStatusCode.OK);
msg.Headers.Add("Authorization", JwtManager.GenerateToken(username));
return msg;
}
else
return new HttpResponseMessage(HttpStatusCode.BadRequest);// Request.CreateResponse(HttpStatusCode.BadRequest, new object());
}
在減速陣營我有這樣的:
let fetchTask = fetch('http://localhost:25565/api/mediaengine/login?username=' + userName + '&password=' + password)
.then(response => {
var k = response.headers.get("Authorization");
var l = 0;
})
.catch(e => {
});
addTask(fetchTask);
出於某種原因response.headers.get(「授權」)就要回來了空。
這沒有工作,仍然是response.headers空.. – tweetypi
我編輯我的問題把你的答案進去做,我不得不做的事情略有不同(新HttpResponseMessage而不是Request.CreateResponse,它不存在,可能是因爲我使用的是asp.net核心...) – tweetypi
@tweetypi好吧,是的,如果你使用.net核心,我的答案需要更新。但是,這個概念是一樣的。如果仍然沒有在響應中獲取標題,請檢查響應管道中的某些中間件是否在調用控制器方法後清除標題。檢查啓動 –