JWT是一种无状态身份验证机制,因为用户状态从未保存在服务器内存中。
如果管理员阻止用户执行某些响应,如何使令牌失效?
发布于 2017-05-12 09:00:04
JWT不是身份验证机制,而是令牌格式。由于JWT是独立的,所以可以使用它们进行无状态身份验证。但是,这并不意味着您的身份验证机制必须是无状态的(尽管它有其好处)。
有几种处理用户锁定/撤销授权的选项:
jti存储在数据库中,您可以将所有令牌黑名单。另见:https://auth0.com/blog/denylist-json-web-token-api-keys/。编辑:正如注释中指出的那样,这种方法虽然不是严格无状态的,但仍然是有效的,因为黑名单只需要在其生存期内存储黑名单中的令牌,并且查找应该是高效率的。所有这些方法都不是完全无状态的。通常,如果希望可以撤消授权,则不可能进行无状态授权。如果您希望您的令牌完全无状态,您应该确保它们的生存期尽可能短,并且发出一个新令牌并不是无状态的。
https://stackoverflow.com/questions/43628844
复制相似问题