Обновить токен в паспорте

Я новичок в 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, используя обновленный токен доступа, он выдает ошибку "Неаутентифицированный". Может кто-нибудь мне помочь.

0 ответов

Другие вопросы по тегам