在后端,我使用过asp.net Web API,可以通过比较隐藏字段令牌和cookie令牌来验证令牌,如下所示:
try
{
string cookieToken, formToken;
AntiForgery.GetTokens(null, out cookieToken, out formToken);
CookieHeaderValue cookie = Request.Headers
.GetCookies(AntiForgeryConfig.CookieName)
.FirstOrDefault();
if (cookie != null)
{
Stream requestBufferedStream = Request.Content.ReadAsStreamAsync().Result;
requestBufferedStream.Position = 0;
NameValueCollection myform = Request.Content.ReadAsFormDataAsync().Result;
try
{
AntiForgery.Validate(cookie[AntiForgeryConfig.CookieName].Value,
myform[AntiForgeryConfig.CookieName]);
}
catch (Exception ex)
{
throw new HttpResponseException(
new HttpResponseMessage(HttpStatusCode.Unauthorized));
}
}
}
但是我无法使用Vue在前端创建XSRF-令牌? 如何在前端创建此XSRF验证令牌,以便以后可以将它们发送回后端进行验证。
这里,我的后端和前端项目是单独的项目。
那里的任何人...
答案 0 :(得分:0)
必须在后端创建XSRF令牌,并将其存储在前端的cookie或本地存储中。
查看MS文档,以查看vainilla javascript和angular的示例(Vue必须相似)pykml package