在我们的应用程序中,当用户注销时,我们会通过这种方式使该特定设备的访问令牌失效。
$user = $request->user();
$value = $request->bearerToken();
$id = (new Parser())->parse($value)->getHeader('jti');
$token = $user->tokens->find($id);
$token->revoke();
但是,当用户停用他/她的帐户时,我们希望使用户登录的所有设备的所有访问令牌失效。
我浏览了该文档但没有发现任何有用的内容。谢谢
看看HasApiTokens https://github.com/laravel/passport/blob/2.0/src/HasApiTokens.php护照提供的特征。这文档 https://laravel.com/docs/5.4/passport#installation建议将此特征添加到您的用户模型中。它提供的方法之一是tokens()
,它定义了一个hasMany
之间的关系Laravel\Passport\Token
以及使用该特征的模型。您可以使用它来检索给定用户的所有令牌的列表:
$userTokens = $userInstance->tokens;
代币模型本身有一个revoke
method:
foreach($userTokens as $token) {
$token->revoke();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)