Laravel passport 如何获取已发放的 access_token 值?
在使用 Laravel passport 做授权验证时,发放 token 的逻辑有个疑问。
目前我测试的结果是每次创建token 都会返回一个新的,同时旧的也不会删除或更新过期时间。
1、为什么在发放 token 的时候,不先验证当前用户是否有未过期的 token ,如果有就直接返回,否则在创建一个新的 token 呢?
2、如果一直返回新的也没问题,对旧的token也没有做过期或者删除处理,这个会有可能同一个用户有多个token都可以使用的情况。
这么做是有什么特殊的想法吗?大家都是怎么理解的。
我现在得临时解决方案就是在生成新 token 之前,将该用户所有的 token 都删除了,保证只有一个可用。
// 删除原 token 无论是否过期
$user->tokens()->delete();
// 生成新 token
$user->createToken('mini-app')->accessToken;
推荐文章: