首页 > 解决方案 > 在 laravel 中设置时覆盖个人访问令牌过期

问题描述

我正在使用旅行护照中的个人访问令牌。我为我的应用程序添加了 5 分钟的到期时间。

AuthServiceProvider

Passport::personalAccessTokensExpireIn(now()->addMinutes(5));

我想通过覆盖上述配置来测试令牌的到期日期AuthServiceProvider

我试图在我的测试方法中覆盖如下

public function it_should_check_token_expiration()
{
    //override current token expiry
    Passport::personalAccessTokensExpireIn(now()->addMinutes(2));

    // create fake user
    $user = factory(User::class)->create([
        'email' => 'test@testing.com',
        'password' => bcrypt('testing'),
        'first_name' => 'testing',
        'last_name'  => 'tester'
    ]);

    //act as auth user
    $this -> actingAs($user, 'api');
    //retrieve token information
    $now = Carbon::now();
    $personalAccessTokenResult = $user -> createToken('MyApp');
    self::assertNotNull($personalAccessTokenResult, 'Unable to create token from given user');
    $minute = $personalAccessTokenResult -> token -> expires_at -> diffInMinutes($now);
    self::assertTrue($minute === 1,'Expired minute not matched');
}

它不起作用。有什么办法,我可以为我的测试环境使用不同的设置。

标签: phplaraveltdd

解决方案


推荐阅读