JWT身份验证和用户验证

时间:2016-01-05 21:14:07

标签: authentication architecture jwt

我不确定我是否完全理解正确的JWT身份验证必须如何工作的概念。我找到了一篇关于JWT Authentication的文章,作者在那里谈到:

  ..the token is self-contained, so the client just need to resend to the server for each request, and the server just have to check the signature to ensure its validity. No more useless call to database or LDAP.

我有点担心短语 - 对数据库或LDAP没有更多无用的调用

但是,如何检查系统中是否仍然存在UserUser尚未被禁止且此令牌已提前过期?

看起来我肯定需要调用数据库或LDAP才能获取此信息并将其与JWT令牌内的信息进行比较。不是吗?

1 个答案:

答案 0 :(得分:4)

你是正确的,如果你必须在每次通话中都检查一下,你需要查询数据库或者调用授权服务器。

但关键是JWT令牌应该有足够短的生命周期,你不应该担心这一点。

如果令牌每小时到期,并且用户被删除或被禁止,他/她将只能访问API最多一小时(或者令牌生命周期)。然后客户端需要更新令牌并确定用户不再有效。

没有查询数据库或为每个令牌验证调用服务将使您的服务规模更好。它还可以消除单点故障(auth DB或服务中断)。