はじめに#
ASP.NET Core Razor Pages アプリケーションでは、デフォルトで AntiforgeryToken 検証が有効になっています。つまり、POST、PUT、PATCH、DELETE などの HTTP メソッドは、アクションが実行される前に AntiforgeryToken を検証します。つまり、antiforgery cookie と antiforgery token の値を比較し、どちらも欠けていると直ちに 400 エラーを返します。
生成方法#
Token の生成方法には 2 つの方法があります。
form 表形#
最初の方法は、form
フォームを作成して、必要なデータを自動生成することです:
<form method="post">
...
</form>
生成原理については、こちらを参照してください:https://learn.microsoft.com/en-us/aspnet/core/security/anti-request-forgery#antiforgery-in-aspnet-core
手動コード#
2 番目の方法は、ページに表示コードを追加することです:
@Html.AntiForgeryToken()
メソッドの説明はこちらを参照してください:https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.viewfeatures.htmlhelper.antiforgerytoken