C# 如何在登录操作中获取身份验证令牌。MVC5
我有一个ASP.NETMVC5项目,使用标准的身份验证过程 调用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
/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-好的,我明白了,这在你的问题中不清楚。您需要令牌做什么?我不会混淆请求和响应。你误解了我的问题。我需要在服务器向客户端发送响应之前生成令牌。您是如何解决此问题的?