.Net CoreでValidateAntiForgeryTokenを使用しようとしましたが、.AspNetCore.Antiforgery.xxxxxxx Cookieが見つかりませんでした。
この.AspNetCore.Antiforgery.xxxxxxx Cookieとは何ですか?
ASP.NET Coreは、このCookieを探してX-CSRFトークンを見つけます。
ValidateAntiForgeryToken
は、このフィルターが適用されているアクションに対して行われたリクエストが、有効な偽造防止トークンが含まれていない限りブロックされるアクションフィルターです。
一般に、ASP.NET CoreはCookieまたはヘッダーでトークンを探す場合があります。だからあなたは状況を持っているかもしれません
既定では、ASP.NETコアは、DefaultCookiePrefix( ".AspNetCore.Antiforgery。")で始まる一意のCookie名を生成して予期します。
これは、偽造防止オプションCookieName
を使用してオーバーライドできます。
services.AddAntiforgery(options => options.CookieName = "X-CSRF-TOKEN-COOKIENAME");
。Net Core 2.0.0以降の場合、変更があります :
そのためには以下を使用します:
services.AddAntiforgery(options => options.Cookie.Name = "X-CSRF-TOKEN-COOKIENAME");
ヘッダーの場合、名前は次のように指定できます。
services.AddAntiforgery(options => options.HeaderName = "X-XSRF-TOKEN");
調べてください: