如何更改访问令牌Laravel Passport的到期日期

我正在尝试更改访问令牌Laravel Passport的到期日期。

这是我尝试过的:

AuthServiceProvider

public function boot(){
    $this->registerPolicies();

    Passport::routes();

    Passport::tokensExpireIn(Carbon::now()->addDays(1));
    Passport::refreshTokensExpireIn(Carbon::now()->addDays(2));
    Passport::personalaccessTokensExpireIn(Carbon::now()->addmonths(1));
}

UserController

public function login() {
    $credentials = [
        'email' => request('email'),'password' => request('password')
    ];
    if (Auth::attempt($credentials)) {
        $success['token'] = Auth::user()->createToken('MyApp')->accessToken;
        $success['name'] = Auth::user()->name;

        return response()->json(['success' => $success]);
    }
    return response()->json(['error' => 'Unauthorized'],401);
}

但是没有用。数据库expires_at中的过期日期未更改,默认情况下仍为一年。

我正在尝试这样做,因为当访问令牌过期时,我想重定向到登录表单。我该怎么办?

我也不知道刷新令牌会发生什么,它将返回另一个访问令牌,并且用户不需要授权吗?

kingking0112 回答:如何更改访问令牌Laravel Passport的到期日期

您正在创建一个属于用户的个人访问令牌

个人访问令牌的默认有效期为1年。

看看您的代码,我很确定此命令应该可以完成工作:

Passport::personalAccessTokensExpireIn(Carbon::now()->addMonths(1));

在获取令牌时,仔细检查数据库中的expire_at列和响应中的expires_in值。它显示令牌存活的秒数。

本文链接:https://www.f2er.com/2864350.html

大家都在问