当我发送超过过期日期的令牌时,为啥会收到 401 错误?

     2023-03-10     241

关键词:

【中文标题】当我发送超过过期日期的令牌时,为啥会收到 401 错误?【英文标题】:Why do I get a 401 error when I send a token beyond its expiration date?当我发送超过过期日期的令牌时,为什么会收到 401 错误? 【发布时间】:2020-09-05 12:20:06 【问题描述】:

我在我的项目中使用了jwt,并且我有一系列通用的方法,但是由于某种原因,我需要在请求者的标头中发送令牌。发送token时,如果过期,报401错误,根本不进入方法。

该方法没有 Authorize 过滤器,并且这个问题,虽然根本没有 Route,但如果 header 中有令牌,则返回 401。

在到达Routing中间件之前,jwt OnAuthenticationFailed事件捕捉到了中间件的顺序,也观察Net core project 3.1

【问题讨论】:

不清楚你的要求。你的意思是它返回 401 虽然你添加了AllowAnonymous 属性?如果是这样,我认为你需要提供更多关于如何生成 jwt 以及你是如何生成的代码配置您的 Startup.cs。 【参考方案1】:

您需要使用 claim 来使用 jwt 重新生成令牌。

您使用的是什么前端脚本? jQuery 还是角度? 如果是 jQuery,则需要使用 jQuery ajaxprefilter。 这将在对服务器端进行实际调用之前执行。

所以如果token过期了,会在ajaxprefilter中检查。

如果过期,在 aap.net 核心中间件端调用声明并重新生成令牌。然后将进行原始调用。

【讨论】:

这不是问题。主要问题是它还对具有 AllowAnonymous 属性的方法进行身份验证

jwt,为啥需要刷新令牌?

...新令牌存在的意义是当客户端异常时,也只会在访问令牌过期时间内异常,换取新的访问令牌时,服务端可以介入重新验证客户端身份,它不是解决了安全问题,而是降低了安全风险。客户端和服务端的交互通常是这样的:1.用... 查看详情

为啥刷新令牌过期不返回?

...2016-05-3014:33:13【问题描述】:请求访问/刷新令牌时,会发送刷新令牌,但API响应中缺少“refresh_token_expires_in”属性。我不知道官方过期时间戳是什么。为什么缺少记录的属性?对于授权类型“authorization_code 查看详情

浏览器没有响应,但在邮递员中得到 401

...令牌过期或发送无效令牌时,我在邮递员中收到401,但是当我在浏览器中执行此操作时,我收到“网络错误”。并且在令牌有效时起作用。我使用axios调用API,error.response未定义。当我在catch中对 查看详情

向服务器发送多个请求时,Okhttp 刷新过期令牌

】向服务器发送多个请求时,Okhttp刷新过期令牌【英文标题】:Okhttprefreshexpiredtokenwhenmultiplerequestsaresenttotheserver【发布时间】:2017-12-1508:14:30【问题描述】:我有一个ViewPager,并且在同时加载ViewPager时进行了三个Web服务调用。当... 查看详情

重新发送使用过期令牌发出的请求会导致开发人员工具处于待处理状态

】重新发送使用过期令牌发出的请求会导致开发人员工具处于待处理状态【英文标题】:Resendingarequestthatwasmadewithanexpiredtokenisleadingtostatuspendingindevelopertools【发布时间】:2021-02-1321:23:18【问题描述】:我有一个反应应用程序,我... 查看详情

为啥当我使用 nativescript 从 iOS 发送表情符号字符时会收到陌生字符串

】为啥当我使用nativescript从iOS发送表情符号字符时会收到陌生字符串【英文标题】:WhyigetstrangerstringwhenisendemojicharacterfromiOSwithnativescript为什么当我使用nativescript从iOS发送表情符号字符时会收到陌生字符串【发布时间】:2019-07-051... 查看详情

AVPlayer 播放受保护的 HLS,令牌过期如何更新?

】AVPlayer播放受保护的HLS,令牌过期如何更新?【英文标题】:AVPlayerplayingprotectedHLS,howtoupdatetokenwhenitexpires?【发布时间】:2021-12-2813:39:06【问题描述】:我正在播放受保护的HLS流,而我的令牌在5分钟后过期,因此每次令牌过期... 查看详情

当我使用旧的刷新令牌时,为啥刷新端点会返回新的令牌?

】当我使用旧的刷新令牌时,为啥刷新端点会返回新的令牌?【英文标题】:Whyrefreshendpointreturnnewtokenswheniuseoldrefreshtoken?当我使用旧的刷新令牌时,为什么刷新端点会返回新的令牌?【发布时间】:2021-02-0419:18:34【问题描述】:... 查看详情

为啥刷新令牌会在 14 天后过期

】为啥刷新令牌会在14天后过期【英文标题】:Whydorefreshtokensexpireafter14days为什么刷新令牌会在14天后过期【发布时间】:2013-03-1123:08:06【问题描述】:每个刷新令牌的有效期为14天。为什么刷新令牌会过期?【问题讨论】:在应... 查看详情

改造 - 处理刷新令牌过期

...tokenexpiration【发布时间】:2019-09-0509:16:43【问题描述】:当我的应用的AccessToken过期时,我使用RefreshToken通过Authenticator类获取新的AccessToken。我的代码如下:if(response.code()==401)Log.d("refresh","Accesstokenexpir 查看详情

过期后使用刷新令牌获取访问令牌(JWT)

】过期后使用刷新令牌获取访问令牌(JWT)【英文标题】:Gettingaccesstokenwiththerefreshtokenafterexpiration(JWT)【发布时间】:2021-10-0309:26:45【问题描述】:我在重新加载页面一段时间后收到401错误,我认为这可能是因为访问令牌已过期... 查看详情

每当我发送包含 Bearer 令牌的请求时,ASP.Net Core API 总是返回 401 未授权

】每当我发送包含Bearer令牌的请求时,ASP.NetCoreAPI总是返回401未授权【英文标题】:ASP.NetCoreAPIalwaysreturns401butBearertokenisincluded【发布时间】:2019-10-0418:02:41【问题描述】:我有一个ASP.NETCoreWebapi,我生成了一个JWT令牌用于授权目... 查看详情

AWS Cognito:处理令牌过期时间

...间】:2016-05-1916:01:32【问题描述】:我正在尝试Cognito,当我认为它开始没问题时,我遇到了(Google)令牌在1小时后过期的问题。当我开始使用干净的设备时,我可以注册,使用该应用程序1小时,然后当我需要刷新数据集时,我... 查看详情

Axios Paypal 令牌问题

...过期,人们会希望使用CURL或Postman来获取令牌,而不是在发送付款之前不断获取更新令牌的ajax调用。无论如何,我能够使用Postman获取令牌,但是我尝试了几个axios请求,但没有一个成功获得令牌。我收到401未经授权的错误。我的... 查看详情

尝试进行身份验证时 JWT 令牌过期?

...。我在发送正确的用户名和密码之前尝试进行身份验证,当我使用Postman时,我得到了一个令牌。我离开项目几个小时又回来了,现在当我尝试进行 查看详情

为啥我的受 AAD 保护的 Azure 函数在使用来自 UWP 应用的访问令牌调用时返回 401?

】为啥我的受AAD保护的Azure函数在使用来自UWP应用的访问令牌调用时返回401?【英文标题】:WhydoesmyAAD-protectedAzureFunctionreturns401wheninvokedwithanaccesstokenfromaUWPapp?为什么我的受AAD保护的Azure函数在使用来自UWP应用的访问令牌调用时返... 查看详情

当我使用 HTTP 协议尝试请求时,为啥会收到错误的请求响应?

】当我使用HTTP协议尝试请求时,为啥会收到错误的请求响应?【英文标题】:WhyamIgettingaBadRequestresponsewhenItrymyrequestwithHTTPProtocol?当我使用HTTP协议尝试请求时,为什么会收到错误的请求响应?【发布时间】:2016-04-2422:02:54【问题... 查看详情

Django Rest Framework JWT:如何更改令牌过期消息

...pirationmessage【发布时间】:2021-03-1003:28:36【问题描述】:当我发送的JWT令牌过期时,我会收到此消息..."detail":"Signaturehasexpired."现在,我想用我的自定义消息更改响应,例如..."message":"to 查看详情