我曾经在我的PHP项目中使用一个纯jwt
库。为了扩展用户的令牌,我使用了刷新令牌。 Laravel的护照中没有这样的概念。只是有一个过期时间的访问令牌。
想象一下我将时间设置为1小时。一小时后,用户在网站上工作时注销。 Laravel 的最佳做法是什么?
请不要提及长期有效,这不是解决方案。
答案 0 :(得分:1)
Laravel Passport确实具有刷新令牌:https://laravel.com/docs/8.x/passport#refreshing-tokens
刷新令牌也可以过期,但寿命很长。刷新令牌(如果遭到破坏)是无用的,因为攻击者除了需要刷新令牌以外还需要客户端ID和机密才能获得访问令牌。
您可以按照以下说明自定义令牌的生存期:https://laravel.com/docs/8.x/passport#token-lifetimes
常见的用例包括在旧的令牌过期后获得新的访问令牌,或首次获得对新资源的访问。