在 ASP.NET Core 中,我们可以通过将 HttpContext 中的 cookie 令牌解码来检索声明。具体实现步骤如下:
在 Startup.cs 中的 ConfigureServices 方法中添加以下代码:
services.AddDataProtection() .PersistKeysToFileSystem(new DirectoryInfo(Configuration["KeysDirectory"])) .AddCookie();
在 API 控制器的方法中,通过 HttpContext 获取 cookie 令牌并解码:
var claimsPrincipal = HttpContext.User.Identity as ClaimsIdentity; //检索具有给定类型的第一个声明 var myClaim = claimsPrincipal?.FindFirst("myClaimType")?.Value;
这里的 myClaimType 是你要检索的声明类型。