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

如何在客户端解码ASP.NET Core 8 Identity生成的非JWT令牌?

关于ASP.NET Core 8 Identity自定义令牌的客户端解码方法

ASP.NET Core 8 Identity生成的令牌并非JWT!

这些令牌不是标准的JSON Web Token(JWT)。使用自定义令牌是有意为之,因为内置的Identity API主要针对简单场景设计。

要在客户端获取用户名、声明等信息,不用硬解码这种自定义令牌,推荐这么做:

  • 后端新增一个用户信息接口,让客户端带着令牌调用,后端验证令牌后返回所需数据

    • 后端示例代码(C#):
      [Authorize]
      [HttpGet("api/userinfo")]
      public IActionResult GetUserInfo()
      {
          var userName = User.Identity.Name;
          var userClaims = User.Claims.Select(c => new { 类型 = c.Type, 值 = c.Value });
          return Ok(new { 用户名 = userName, 声明 = userClaims });
      }
      
    • 客户端用拿到的令牌作为请求头(比如Authorization: Bearer {token})调用这个接口,就能直接拿到用户信息,比解码令牌靠谱多了。
  • 要是非得解码令牌(不建议,因为官方没公开格式,版本更新可能失效),得在前后端共享Identity的加密密钥,然后用相同的算法解密。但这种方式耦合性极强,完全违背Identity的设计初衷,别这么干。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 15:52:03