asp.net web api认证令牌过期

本文关键字:令牌 过期 认证 api net web asp | 更新日期: 2023-09-27 18:06:05

我是一个使用基于令牌的身份验证的asp.net web API应用程序的客户端。令牌结构如下:

{
    access_token: "…",
    token_type: "bearer",
    expires_in: 3599
}

显然它被设置为过期,我目前正在为每个请求请求一个新的令牌,我认为这不是一个好的做法,因为每个API请求实际上是2,一个用于身份验证,另一个用于实际请求。所以我试图实现令牌的一些缓存,但我不知道到底是什么expires_in字段的意思,是秒,毫秒?

asp.net web api认证令牌过期

查看oAuth2协议规范:

expires_in推荐。访问令牌内的生存时间。为例如,值"3600"表示访问令牌将在生成响应后一小时内过期。如果省略,授权服务器应该提供通过其他方式设置过期时间或记录默认值。

expires_in字段描述访问令牌的过期时间(以秒为单位)。在你的例子中,它在3599秒后到期,相当于59分59秒。

您可以在客户端应用程序中执行令牌缓存,而不是为每个请求生成新的令牌。在此之前,您必须通过比较当前时间和过期时间来检查是否存在有效令牌。如果没有有效的令牌存在,那么您可以生成一个新的令牌,并将其与其过期时间一起存储在客户机应用程序中。