用户在前端登录以后,获取access_token,保存至localStorage,用户注销则销毁localStorage中的access_token。如果过期时间8小时的话,在access_token未过期的时间内,用户多次注销和登录,依然会产生多个access_token,且都是有效的!
如何合理的设置过期时间 ?
如何保证用户的同一Client_id的access_token只有一个是有效的(未过期的)?
如何清理过期或被撤销的access_token ?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
通过事件监听来清理token的方法:
将事件注册到
EventServiceProvider中,代码如下:然后创建两个事件的
Listener:RevokeOldTokens:
PruneOldTokens:
解决注销之后再登录的密码验证问题
官方给出的方案是监听LaravelPassportEventsAccessTokenCreated事件来revoke多余的token
监听
LaravelPassportEventsRefreshTokenCreated事件来清除过期的token
在官方文档里面有,https://laravel.com/docs/5.4/...