我正在尝试在我的一个项目中实现基于JWT的身份验证系统,并且我在两个选项之间陷入困境,我需要一些澄清。我提出了两种实现JWT的方法,如下所示:
这是一个很好的解释https://auth0.com/learn/refresh-tokens/
刷新令牌是长寿的。这意味着当客户端从服务器获取一个时,必须安全地存储此令牌以防止潜在攻击者使用它,因此,将它们存储在浏览器中是不安全的。如果刷新令牌泄露,它可用于获取新的访问令牌(并访问受保护的资源),直到它被列入黑名单。必须将刷新令牌发布到单个经过身份验证的客户端,以防止其他方使用泄露的令牌。访问令牌也必须保密,但由于其寿命较短,安全考虑因素并不重要。
会话也可能是劫持或固定。
如果您使用SSL,则所有标头都已加密。
所以我更喜欢原生的JWT机制,并且会注意客户端的auth令牌存储。
以下是我的一些澄清,