2

응답에 새 쿠키를 추가 할 때 CookieOptions를 사용하여 만료를 설정할 수 있습니다. 그러나 HttpContext.Request.Cookies는 IRequestCookieCollection을 반환하며 키/값 쌍만 제공합니다.dot net core에서 쿠키 만료를 읽는 방법은 무엇입니까?

요청 쿠키의 CookieOptions (특히 만료)를 읽을 수있는 방법이 있습니까?

것은 내가 닷넷 코어 (1.0.0-preview2-003131)

참고를 사용하고 있습니다 : 내가 요청 처리에서 임의의 쿠키의 만료를 읽을 필요가 프레임 워크의하지 만료는 인증 쿠키를 생성합니다. 내가 갖는

답변

0

그 주체가 확인되면 쿠키가 재산 내 ValidatePrincipalAsync 만료됩니다 때, 이벤트 "OnValidatePrincipal"

app.UseCookieAuthentication(new CookieAuthenticationOptions() 
{ 
... 
Events = new CookieAuthenticationEvents 
{ 
OnValidatePrincipal = CookieAuthenticationEventHandler.ValidatePrincipalAsync 
} 
}); 

을에 반응 그리고 내가 액세스 할 수 있습니다에 의해 context.Properties.ExpiresUtc

것은 그 내 컨트롤러에서 나중에 속성을 만료 얻을 수 있으려면, 내 HttpContext를이 방법으로 그것을 추가 해요 :

context.Request.HttpContext.Items.Add("ExpiresUTC", context.Properties.ExpiresUtc); 

하지만 난 그 부분에 정말 행복하지 않아요, 어쩌면 누군가가 당신에게 더 나은 방법을 직접 컨트롤러에서 OnValidatePrincipal에서 그것을 얻을 필요없이 줄 수 있습니다.

+0

감사합니다. 인증 처리가 아닌 요청 처리에서 임의의 쿠키에 대해 읽어야합니다. –

+0

나는 그것을 보지 못했다. 다른 사람이 도움을 줄 수 있는지 봅시다. – Daboul

0

아니요. HTTP에는 요청시 보낸 쿠키에 대한 세부 정보는 포함되어 있지 않으며 이름과 값만 포함됩니다. 인증 쿠키 해결 방법은 만료 값에도 포함되어 있기 때문에 작동합니다.