首页 > 其他分享 >JWT Bearer Token 验证

JWT Bearer Token 验证

时间:2023-12-12 09:46:00浏览次数:26  
标签:Bearer memoryCache JWT Token next token context

 

 ASP.NET Core Web API之Token验证 :https://blog.csdn.net/fengershishe/article/details/131388577

设置token有效时间:

1.在生成token时用IMemoryCache缓存,以token值为key,value为空,添加相对缓存时间。

2.添加TokenExtractorMiddleware,在Program添加启动中间件:app.UseMiddleware<TokenExtractorMiddleware>();

public class TokenExtractorMiddleware
{
private readonly RequestDelegate _next;
private readonly IMemoryCache _memoryCache;
public TokenExtractorMiddleware(RequestDelegate next, IMemoryCache memoryCache)
{
_next = next;
_memoryCache = memoryCache;
}

public async Task InvokeAsync(HttpContext context)
{
if (context.Request.Headers.ContainsKey("Authorization"))
{
var authHeader = context.Request.Headers["Authorization"].ToString();
if (authHeader.StartsWith("Bearer "))
{
var token = authHeader.Substring("Bearer ".Length).Trim();

if (_memoryCache.Get(token) == null)
{
throw new Exception("Token is not found in cache.");
}
else
{
var cacheEntryOptions = new MemoryCacheEntryOptions().SetSlidingExpiration(TimeSpan.FromMinutes(1));
_memoryCache.Set(token, "", cacheEntryOptions);
}
}
}
await _next(context);
}

}

 

标签:Bearer,memoryCache,JWT,Token,next,token,context
From: https://www.cnblogs.com/wangtiantian/p/17896078.html

相关文章

  • 无感刷新token令牌
    首先判断token是否过期constisTokenExpired=()=>{if(store.getters.getToken){//判断是否过期constpayload=store.getters.getToken.split('.')[1]constdecoded=JSON.parse(atob(payload))constnow_time=Math.floor(newDate()/1000)......
  • 双Token实现无感刷新登录状态
    基于access_token和refresh_token实现无感刷新登录状态双token原理 这是登录认证的流程:验证通过之后,将用户信息放到jwt中。 访问接口的时候带上jwt,在Guard里取出来判断是否有效,jwt有效的话才能继续访问:这种方式有个问题:jwt是有有效期的,我们设置的是7天,实际上为了安全......
  • 代码中公用生成使用token方法
    生成使用token引入pom<dependency>     <groupId>com.auth0</groupId>     <artifactId>java-jwt</artifactId>     <version>3.14.0</version>   </dependency>添加工具类packagecom.mashibing.interin......
  • 【漏洞分析】Reflection Token 反射型代币攻击事件通用分析思路
    在本篇文章中,我将通过一个攻击事件引出ReflectionToken攻击事件的一个通用分析思路。关于ReflectionToken的其他案例分析,可以参考BEVO代币攻击事件分析及复现一文。TomInu攻击事件TomInuToken是一个反射型代币reflectiontoken,于2023-01-26遭到黑客攻击,攻击者获利355......
  • 面试官:什么是JWT?为什么要用JWT?
    目前传统的后台管理系统,以及不使用第三方登录的系统,使用JWT技术的还是挺多的,因此在面试中被问到的频率也比较高,所以今天我们就来看一下:什么是JWT?为什么要用JWT?1.什么是JWT?JWT(JSONWebToken)是一种开放标准(RFC7519),用于在网络上安全传输信息的简洁、自包含的方式。它通常被......
  • Scope api1 not found in store. IdentityServer4.Validation.TokenRequestValidator:
    看明白了这个报错,说是scopeapi在授权服务器没有定义,但是一直不知道哪出错,我寻思也定义了这个资源来着但其实并没有,说的是scope不是说的resource,所以需要再定义一个Scope  ......
  • seafile获取token和文件夹ID
    获取tokencurl-d"[email protected]&password=tkv7zjV4P0Rq"http://xxxxxxxx:50018/api2/auth-token/双因素认证:curl-d"[email protected]&password=tkv7zjV4P0Rq" -H'X-SEAFILE-OTP:<token>......
  • 在NET8中使用简化的 AddJwtBearer 认证
    开发环境系统版本:win10.NETSDK:NET8开发工具:vscode参考引用:使用dotnetuser-jwts管理开发中的JSONWeb令牌注意:以下示例中的端口、token等需替换成你的环境中的信息创建项目运行以下命令来创建一个空的Web项目,并添加Microsoft.AspNetCore.Authentication.JwtBea......
  • 京东面试:说说Cookie、Session和Token的区别?
    东子作为目前传统电商三巨头之一(其他还有阿里巴巴和拼多多),其面试题的难度也中规中矩,总体来说没有其他两家面试难度高,当然薪资也没有其他两家薪资高。其中拼多多的薪资最为离谱,尤其是前几年,听说挖同行的开发人员,薪资可以开到原来薪资的两到三倍,真是变态(但是我喜欢)。东子的面试题......
  • 如何实现 token 加密
    以最常见的token格式jwt为例,token分为三段,分别是header、payload、signature。其中,header标识签名算法和令牌类型;payload标识主体信息,包含令牌过期时间、发布时间、发行者、主体内容等;signature是使用特定的算法对前面两部分进行加密,得到的加密结果。token有防篡改的......