2

新しいクッキーをレスポンスに追加するときに、CookieOptionsを使用して有効期限を設定できることがわかります。しかし、HttpContext.Request.CookiesはIRequestCookieCollectionを返します。これはキーと値のペアを与えるように見えます。ドットネットコアでクッキーの有効期限を読み取る方法は?

リクエストCookieのCookieOptions(特に有効期限)を読み取る方法はありますか?

私はネットコア(1.0.0-preview2-003131)

NOTEを使用しています:私は、フレームワークの有効期限は、認証クッキーを生成し、リクエスト処理中の任意のクッキーの有効期限を読み取るために必要はありません。

答えて

0

私は「OnValidatePrincipal」イベントに反応することによりこと

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

を得ていると元本が検証されるとクッキーが財産context.Properties.ExpiresUtc

と私のValidatePrincipalAsyncに期限切れとなるとき、私は、アクセスすることができます

することが私のコントローラの後半expiresプロパティーを取得できるようにするために、私は私のHttpContextこの方法でそれを追加している:

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

しかし、私は本当にその部分に満足していない、誰かがあなたにそれをOnValidatePrincipalから取得することなく、コントローラで直接アクセスするより良い方法を与えることができます。

+0

ありがとう - 私は、認証のクッキーではなく、リクエスト処理で任意のクッキーを読む必要があります。 –

+0

私は、私がしていないことを参照してください。誰かが助けることができるかどうか見てみましょう。 – Daboul

0

いいえ、HTTPには、リクエストで送信されたクッキーに関する詳細は含まれておらず、名前と値のみが含まれています。 auth cookieの回避策は、有効期限も値に埋め込まれているためにのみ有効です。

関連する問題