OnValidatePrincipal中的Cookie更新不会反映在Request.Cookies ASP.NET Core 2.1中

时间:2019-01-29 09:11:50

标签: authentication cookies asp.net-core-mvc asp.net-core-2.1 httpcontext

我试图在CookieAuthenticationEvents的OnValidatePrincipal事件中将cookie添加到HttpResponse。我正在使用此方法在到期后刷新令牌。我编写的添加代码如下所示:

OnValidatePrincipal = context =>
                        {
                            var value = "";
                            context.HttpContext.Request.Cookies.TryGetValue("cookieNew", out value);
                            if(value == null)
                            {
                                // var newRefreshToken = // Get token logic
                                context.HttpContext.Response.Cookies.Append(
                                    "cookieNew",
                                    "abcde",
                                   new CookieOptions
                                   {
                                       HttpOnly = true,
                                       Expires = DateTime.Now.AddMinutes(30).ToLocalTime(),
                                       IsEssential = true
                                   });                                
                            }

但是,当我尝试在控制器中检索此令牌cookie时,它仍然返回null。

var myCookie = Request.Cookies["cookieNew"];

myCookie为空。

有人可以帮助我如何使添加的cookie反映在Request.Cookies中吗?当我在其他地方(但不是在这里)做过同样的事情时,这种方法很好用。

0 个答案:

没有答案