我试图理解jwt的身份验证是如何工作的。我有一些基本问题。
1)用户是否同时向每个请求发送accessToken和refreshToken?
2)如果是这样,它如何发送refreshToken(我知道accessToken在http标头中)
3)服务器必须首先验证accessToken(带签名),然后检查是否通过了到期时间。这是对的吗?
答案 0 :(得分:0)
据我所知,访问与刷新令牌在JWT中不是一个概念(但它在OAuth中,它使用类似的令牌)。相反,JWT只是一个框架,它允许用户将他的凭据提供给权限,但用户不可能以某种方式自己修改该令牌。
对于问题的第二部分和第三部分,通常会在标题中传递JWT。收到后,具有密钥的服务器可以解密令牌并检查该令牌上的任何声明,包括到期日期。但请注意,仅检查过期日期可能不足以授予用户访问权限。例如,您可能已暂停某个用户的帐户,但他仍然会承担他的JWT。因此,为了解决这个问题,除了检查JWT本身的声明之外,您可能还必须点击您的用户数据库。