C# 如何在登录操作中获取身份验证令牌。MVC5

C# 如何在登录操作中获取身份验证令牌。MVC5,c#,authentication,cookies,asp.net-mvc-5,C#,Authentication,Cookies,Asp.net Mvc 5,我有一个ASP.NETMVC5项目,使用标准的身份验证过程 调用/Account/Login后,我得到了带有auth令牌的新cookie.AspNet.applicationcokie的响应。问题是如何在登录操作中获取此令牌,在生成后立即执行此操作 我唯一的想法是尝试从response的cookie中获取它,但它不起作用: // ... somwhere in login action AuthenticationManager.SignIn(identity); // <-- How t

我有一个ASP.NETMVC5项目,使用标准的身份验证过程

调用
/Account/Login
后,我得到了带有auth令牌的新cookie
.AspNet.applicationcokie
的响应。问题是如何在登录操作中获取此令牌,在生成后立即执行此操作

我唯一的想法是尝试从response的cookie中获取它,但它不起作用:

// ... somwhere in login action
AuthenticationManager.SignIn(identity);
// <-- How to obtain auth token here? Code below don't work

var token = HttpContext.Current.GetOwinContext().Response.Cookies[".AspNet.ApplicationCookie"];
/。。。somwhere在登录操作中
AuthenticationManager.SignIn(标识);

//我相信您可能混淆了请求和响应。响应是您发送给客户机的内容,因此您永远不想从那里读取cookie。相反,从请求对象读取cookie

如果您“读取”响应对象,而cookie不存在于其中,它只会创建一个该名称的新cookie——没有任何值

Request.Cookies[".AspNet.ApplicationCookie"]
不确定是否有前导句点。不过,也请尝试:

Request.Cookies["AspNet.ApplicationCookie"]

在OAuth的回调操作中,您可以使用Request.Cookies[“.AspNet.ExternalCookie”]

不工作。服务器端生成令牌并通过response.cookie发送给客户端,以便在客户端创建cookie。您的代码将在下一个请求中工作,但我希望在生成令牌之后立即使用它。不是在下一个请求中。@DamianDrygiel-好的,我明白了,这在你的问题中不清楚。您需要令牌做什么?我不会混淆请求和响应。你误解了我的问题。我需要在服务器向客户端发送响应之前生成令牌。您是如何解决此问题的?