You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 8.0 Identity API端点:为何未启用防伪验证?

为ASP.NET Core 8.0 Identity API端点启用防伪令牌验证

步骤1:配置防伪服务

在Program.cs中注册并配置防伪服务,可根据业务需求自定义令牌的存储与传递规则:

builder.Services.AddAntiforgery(options =>
{
    // 指定前端传递令牌的请求头名称
    options.HeaderName = "X-XSRF-TOKEN";
    // 配置存储令牌的Cookie属性
    options.Cookie.Name = "XSRF-TOKEN";
    options.Cookie.SameSite = SameSiteMode.Strict;
    options.Cookie.HttpOnly = false; // 允许前端读取Cookie中的令牌值
});

步骤2:为Identity API端点添加验证

在映射Identity API端点时,调用RequireAntiforgery()方法,为所有Identity端点启用防伪验证:

app.MapIdentityApi<IdentityUser>()
   .RequireAntiforgery();

如果需要对特定Identity端点分组配置,可先创建端点组再统一启用验证:

var identityApiGroup = app.MapGroup("/api/identity").MapIdentityApi<IdentityUser>();
// 为整个组内的所有端点启用防伪验证
identityApiGroup.RequireAntiforgery();

前端请求说明

前端发起请求时,需先从Cookie中读取XSRF-TOKEN的值,再在请求头中携带对应的X-XSRF-TOKEN(需与服务端配置的HeaderName一致),才能通过服务端的防伪验证。

内容的提问来源于stack exchange,提问作者jandos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 07:44:52