Laravel 护照授权令牌在生成新令牌时过期
Posted
技术标签:
【中文标题】Laravel 护照授权令牌在生成新令牌时过期【英文标题】:Laravel passport Authorization token expire on generating new token 【发布时间】:2018-04-11 08:21:40 【问题描述】:我正在使用 laravel 5.5 和 API 路由的护照身份验证。我正在使用不记名令牌。 问题是旧生成的令牌被接受而不是未经身份验证。 步骤:
创建一个不记名令牌。用它。它工作正常。 无需注销即可创建另一个令牌,它工作正常。 现在,如果我使用第一个创建的令牌,它也可以工作。它不应该工作,但它被接受。我有什么办法可以做到这一点? 提前致谢。
【问题讨论】:
【参考方案1】:一种可能的解决方案是: 在创建新令牌之前检查是否存在旧令牌并删除该令牌。为此:
创建一个名为 OauthAccessToken
的模型如下更新你的用户模型
/**
* 1:n zu access token, we need to logout users
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function accessTokens()
return $this->hasMany(OauthAccessToken::class);
现在您可以检查并删除用户的所有令牌
if ($user->accessTokens->count() > 0)
$user->accessTokens()->delete();
【讨论】:
嗨,Matz,谢谢。我得到了这个并从'oauth_access_tokens'中删除了令牌。它工作正常。我们不能通过刷新令牌来实现吗?以上是关于Laravel 护照授权令牌在生成新令牌时过期的主要内容,如果未能解决你的问题,请参考以下文章