Laravel Passport 令牌过期方法无效
Laravel Passport Token Expire Methods Not Working
我使用护照为我的 API 进行身份验证
i 运行 安装护照的命令:
php artisan passport:install --force
并使用以下代码生成令牌:
$objToken = $user->createToken('Token');
$strToken = $objToken->accessToken;
$expiration = $objToken->token->expires_at->diffForHumans();
return response()->json([
token' => $strToken,
'ExpireTime' => $expiration,
], 200);
我发现我的 token 生命周期是一年,我只想把 expire_at 栏设为 1 小时
我阅读了官方文档并将以下代码添加到 AuthServiceProvider:
Passport::tokensExpireIn(now()->addDays(15));
Passport::refreshTokensExpireIn(now()->addDays(30));
但这些代码不起作用,当我登录 expire_at 时,这仍然是一年
请帮助我更改令牌的到期时间。
谢谢你:)
您正在尝试创建个人访问令牌。
// Passport::tokensExpireIn(now()->addDays(15));
// Passport::refreshTokensExpireIn(now()->addDays(30));
# Get or set when personal access tokens expire.
Passport::personalAccessTokensExpireIn(now()->addHour(1));
结果:
array:2 [
"token" => "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...."
"ExpireTime" => "59 minutes from now"
]
更新
对于Laravel< v5.7
Personal access tokens are always long-lived. Their lifetime is not modified when using the tokensExpireIn
or refreshTokensExpireIn
methods.
$objToken = $user->createToken('Token');
$strToken = $objToken->accessToken;
$expiration = $objToken->token;
$expiration->expires_at = Carbon::now()->addWeeks(1);//example 1 week
$expiration->save();
并在 AuthServiceProvider.php 中:
public function boot()
{
$this->registerPolicies();
Passport::routes();
Passport::personalAccessTokensExpireIn(Carbon::now()->addDays(2));//example 2 Days
//
}
我使用护照为我的 API 进行身份验证 i 运行 安装护照的命令:
php artisan passport:install --force
并使用以下代码生成令牌:
$objToken = $user->createToken('Token');
$strToken = $objToken->accessToken;
$expiration = $objToken->token->expires_at->diffForHumans();
return response()->json([
token' => $strToken,
'ExpireTime' => $expiration,
], 200);
我发现我的 token 生命周期是一年,我只想把 expire_at 栏设为 1 小时 我阅读了官方文档并将以下代码添加到 AuthServiceProvider:
Passport::tokensExpireIn(now()->addDays(15));
Passport::refreshTokensExpireIn(now()->addDays(30));
但这些代码不起作用,当我登录 expire_at 时,这仍然是一年 请帮助我更改令牌的到期时间。 谢谢你:)
您正在尝试创建个人访问令牌。
// Passport::tokensExpireIn(now()->addDays(15));
// Passport::refreshTokensExpireIn(now()->addDays(30));
# Get or set when personal access tokens expire.
Passport::personalAccessTokensExpireIn(now()->addHour(1));
结果:
array:2 [
"token" => "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...."
"ExpireTime" => "59 minutes from now"
]
更新
对于Laravel< v5.7
Personal access tokens are always long-lived. Their lifetime is not modified when using the
tokensExpireIn
orrefreshTokensExpireIn
methods.
$objToken = $user->createToken('Token');
$strToken = $objToken->accessToken;
$expiration = $objToken->token;
$expiration->expires_at = Carbon::now()->addWeeks(1);//example 1 week
$expiration->save();
并在 AuthServiceProvider.php 中:
public function boot()
{
$this->registerPolicies();
Passport::routes();
Passport::personalAccessTokensExpireIn(Carbon::now()->addDays(2));//example 2 Days
//
}