Обновить токен в паспорте
Я новичок в Laravel. Я использую паспорт laravel для аутентификации в API для мобильного приложения. Теперь я хочу знать, как я могу достичь следующих функциональных возможностей.
- Я хочу истечь текущий токен доступа в течение 24 часов.
- После истечения текущего токена доступа я хочу обновить свой токен доступа.
- используя этот обновленный accesstoken, я хочу получить доступ к приложению.
Может кто-нибудь помочь мне решить это. Я создал следующий код для создания токена, а также для обновления токена
Мой код функции входа
$client = \Laravel\Passport\Client::where('password_client', 1)->first();
$request->request->add([
'grant_type' => 'password',
'client_id' => $client->id,
'client_secret' => $client->secret,
'scope' => null,
'username' => request('email'),
'password' => request('password'),
]);
$proxy = Request::create(
'oauth/token', 'POST'
);
$tokens = \Route::dispatch($proxy);
$tokrnresponse = (array) $tokens->getContent();
$tokendata = json_decode($tokrnresponse[0]);
echo $tokendata->access_token
даст мне доступ и
echo $tokendata->refresh_token
Сейчас я получу токен обновления от почтальона. Я пытаюсь обновить токен, используя другой API-интерфейс refresh_token(). Я передаю токен доступа в заголовке.
код refresh_token ()
$client = \Laravel\Passport\Client::where('password_client', 1)->first();
$request->request->add([
'grant_type' => 'refresh_token',
'client_id' => $client->id,
'refresh_token' => '<refresh_token>',
'client_secret' => $client->secret,
'scope' => null
]);
$proxy = Request::create(
'oauth/token', 'POST'
);
$tokens = \Route::dispatch($proxy);
$tokrnresponse = (array) $tokens->getContent();
$tokendata = json_decode($tokrnresponse[0]);
print_r($tokendata);
exit;
Я получил новый токен доступа, используя приведенный выше код, но когда я пытаюсь получить доступ к другому API, используя обновленный токен доступа, он выдает ошибку "Неаутентифицированный". Может кто-нибудь мне помочь.