如何在laravel 5.4中更新访问令牌expire_at(laravel passport)而不刷新访问令牌

时间:2017-04-18 02:45:29

标签: laravel laravel-passport

我用laravel护照制作api,我为一个没有重复用户的用户做了一个令牌,我做了一个令牌,在10天后到期,但我想添加功能,如果用户已经登录并且在现有登录功能2条件下仍然使用相同令牌sehinnga的其他设备再次登录如果用户登录时没有令牌或令牌过期然后创建新令牌,如果发现用户登录令牌尚未到期则旧令牌将从现在起10天后更新到期,无需刷新令牌

1 个答案:

答案 0 :(得分:0)

您可以在创建新令牌或登录时删除旧令牌。首先,您需要创建OauthAccessToken模型。

例如, 在您的用户模型中创建以下功能

public function accessTokens() {
    return $this->hasMany(OauthAccessToken::class);
}

And then check and delete the tokens 

$user = User::whereId($id)->with('accessTokens')->first();
if ($user->accessTokens->count() > 0) {
   $user->accessTokens()->delete();
}