JWT身份验证和用户验证

JWT身份验证和用户验证

问题描述:

我不确定我完全理解如何正确运行JWT身份验证的概念。我发现了一篇文章关于JWT Authentication其中笔者认为会谈:JWT身份验证和用户验证

..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

但如何检查的例子, User仍然存在于系统中或User未被禁止且此令牌已提前过期?

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

你是对的,如果你MUST每次调用都检查一下,你需要查询数据库或者调用授权服务器。

但问题是JWT令牌应该有足够短的使用寿命,以免您担心这一点。

如果令牌每小时过期并且用户被删除或禁止,则他/她只能在最多一小时(或任何令牌生存期)内访问这些API。然后,客户需要更新令牌并确定用户不再有效。

没有查询数据库或为每个令牌验证调用服务将使您的服务规模好得多。它还消除了单点故障(验证数据库或服务关闭)。

+0

谢谢!我还有一个问题 - 当我需要在每次通话中检查此功能时,JWT是架构中的合理选择吗? – alexanoid

+0

如果您已经拥有使用JWT的基础结构,当然。但是你没有充分利用它可以带给你的一些好处。 – MvdD