gpt4 book ai didi

authentication - 如何在 .net core API 中撤销 JWT Bearer Token

转载 作者:行者123 更新时间:2023-12-04 04:28:36 25 4
gpt4 key购买 nike

我已经实现了 JWT Bearer token 基础认证和授权。我正在使用以下代码销毁 JWT token 或注销当前用户,但它不起作用。

//var claim = _httpContextAccessor.HttpContext.User.Claims;
// var users = await _userManager.FindByNameAsync(_httpContextAccessor.HttpContext.User.Identity.Name);
// var identity = _httpContextAccessor.HttpContext.User.Identity as ClaimsIdentity;
// foreach (var item in claim)
// {
// identity.RemoveClaim(item);
// }

await _signInManager.SignOutAsync();

最佳答案

在用户注销期间无法取消/撤销 JWT token ,这并不简单,但有一种解决方法。您可以尝试按照以下步骤操作:

  • 为 token 设置合理的到期时间
  • 注销时从客户端删除存储的 token
  • 拥有仍然有时间生存的不再事件 token 的数据库
  • 在每个授权请求上查询针对黑名单提供的 token

  • 我还在下面粘贴了 2 个链接,我觉得这些链接很有帮助:
  • How to log out when using JWT
  • Canceling JWT tokens in .NET Core
  • 关于authentication - 如何在 .net core API 中撤销 JWT Bearer Token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46161649/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com