0
asp.net web api로 작은 예제를 만들었습니다. 인증 용 API를 만듭니다. 사용자가 성공적으로 로그인 할 때 쿠키 응답 헤더를 사용하려고합니다. 하지만 다음 요청에서 헤더에 쿠키를 찾을 수 없습니다. 아무도 나를 도울 수 있습니까? 고마워요 !!!웹 API - authen 요청으로 쿠키를 설정하는 방법
if (repository.CheckValidUser(user))
{
var resp = new HttpResponseMessage();
var cookie = new CookieHeaderValue("Authorization-Token", RSAClass.Encrypt(user.Username));
cookie.Expires = DateTimeOffset.Now.AddDays(1);
cookie.Domain = Request.RequestUri.Host;
cookie.Path = "/";
resp.Headers.AddCookies(new CookieHeaderValue[] { cookie });
return resp;
}
else
{
throw new HttpResponseException(new HttpResponseMessage() { StatusCode = HttpStatusCode.Unauthorized, Content = new StringContent("Invalid user name or password.") });
}
난 exemple를 들어, 당신은 쿠키를 유지하기 위해 DelegatingHanlder을 만들어야합니다
와우, 나는 그것을 시도 할 것이다. 정말 고맙습니다. 나는이 문제에 2 시간을 낭비한다. 고맙습니다. – PhuongTT
하지만 컨트롤러에서 set-cookie 헤더를 사용할 수없는 이유는 무엇입니까? 이걸 설명 할 수 있니? 고맙습니다! – PhuongTT
당신은 할 수는 있지만, 요청을 위해 모든 쿠키를 유지해야합니다. 그렇지 않으면 HTTP 요청/응답을 직접 처리하는 Wep API를 가지고 있기 때문에 손실 될 것입니다. – Fals