Laravel срок действия паспорта истек - PullRequest
0 голосов
/ 04 февраля 2020

я хочу получить доступ к токену, созданному с помощью laravel, у паспорта есть refre sh или «дополнительное время», когда пользователь отправляет запрос, но я действительно не понимаю документацию laravel, и каждый форум, который я видел, отправляет меня там https://laravel.com/docs/5.8/passport#refreshing -tokens Я действительно не понимаю параметры ведьмы, если я пользователь или где его получить. Поэтому я решил искать время истечения вручную, Passport создает 5 таблиц oauth accesToken, клиентов, personal_access_clients refresh_token и refresh_token, oauth_access_token имеет столбец с полем expired_at, поэтому я подумал, что если я изменю время, я получу более длинный токен, но я был неправильно. Когда я создаю токен в методе загрузки, я устанавливаю время

class AuthServiceProvider extends ServiceProvider
{
    protected $policies = [
         'App\Model' => 'App\Policies\ModelPolicy',
    ];

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

        Passport::personalAccessTokensExpireIn(now()->addMinutes(1));
        Passport::refreshTokensExpireIn(now()->addMinutes(1));
    } 

, это работает нормально, но в методе входа в систему

$tokenResult = $user->createToken('Token Acceso Personal');
$token = $tokenResult->token;
if ($request->remember_me) {
    $token->expires_at = Carbon::now()->addWeeks(1);
}
//this line it supose to set the expired time
$token->expires_at = Carbon::now()->addWeeks(1);
//------------------
$userLogin->token = $tokenResult->accessToken;
$userLogin->save();
$token->save();
$profile = $people->where('user_id', $userLogin->id)->first();
$profile_name  = $profile2->where('id', $profile->profile_id)->first();
return response()->json([
                    'access_token' => $tokenResult->accessToken,
                    'token_type'   => 'Bearer',
                    'expires_at'   => Carbon::parse($tokenResult->token->expires_at)->toDateTimeString(),
                    'user_id'      => $userLogin->id,
                    'profile_id' => $profile->profile_id,
                    'profile_name' => $profile_name->name,
                    'companies'    => $companies
                ]);

, когда я устанавливаю время здесь, оно сохраняет в БД, но не работать как время истечения, другими словами, время истечения в БД не работает или не используется, поэтому мне любопытно, есть ли место, куда я должен обратиться, чтобы найти время истечения, установленное в методе загрузки или как я могу установить более длительное время в токене

...