登陆前如何检查令牌是否过期?

千叶

新成员
已加入
2020年2月10日
留言内容
1
编程经验
10+
如何在登陆到页面(MVC)之前检查令牌是否已过期(CORE)
我们需要首先检查嵌入到通过电子邮件链接访问的链接中的令牌,
然后它将重置密码。但它不会检查令牌是否已过期。
那么在登陆页面之前如何检查令牌是否过期?
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,507
地点
悉尼,澳大利亚
编程经验
10+
您是如何创建令牌的?您正在使用身份吗?如果是这样,那么我认为您不能,您也不要打扰。令牌可能在您显示页面到以后尝试重设密码之间过期,因此无论如何您都必须考虑该密码,因此您也可以仅依靠它。这就是我们在使用Identity的最新应用程序中所做的事情。
 

羊皮

退休程序员
工作人员
已加入
2018年9月5日
留言内容
1,926
地点
英国
编程经验
10+

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,507
地点
悉尼,澳大利亚
编程经验
10+
你为什么不能使用 DataProtectionTokenProviderOptions.TokenLifespan属性(Microsoft.AspNetCore.Identity) for that

如果您只想知道令牌是否已过期,那不是目的。
那是指定令牌生成后多长时间到期。它不会告诉您任何特定令牌是否已过期。通用 用户管理器 该类具有验证各种类型令牌的方法,但其中没有密码重置令牌。不确定是否可以打电话 VerifyUserTokenAsync 如果可以指定适当的目的值,但我猜不是。
 

羊皮

退休程序员
工作人员
已加入
2018年9月5日
留言内容
1,926
地点
英国
编程经验
10+
I disagree. That would depend how you implemented it. It's not impossible to check if a token has passed its timespan, and if it has, it would and should be considered invalid. .TokenLifespan = TimeSpan.FromHours(6); You also won't be able to write the logic for the later without a tokenlifespan being set.

您也不会在登陆页面之前检查令牌是否已过期。通常,登录页面将确定令牌是无效的还是过期的。

提出的问题荒唐可笑。没有代码可显示,响应将变得模糊。

Doing the research shows many implementations when searching c# using "TokenLifespan" to check if token expired online.
 
最佳 底部