如何用旧的laravel护照替换新的api访问令牌

问题描述 投票:1回答:1

我需要生成访问令牌,而控制器上的方法将由特定路由调用。我的问题是如何为登录的用户生成一个新的访问令牌并将其替换为旧的访问令牌(在oauth_access_tokens表中,例如,更新用户状态或令牌)。我需要删除旧的访问令牌并将其替换为新的令牌。就我而言,护照具有生命周期,每当用户执行某项操作或完成或执行某项动作(例如呼叫路线等)时,我都需要生成一个新的访问令牌并将其替换为现有的一个。

laravel api token access laravel-passport
1个回答
0
投票

documentation中,已经很清楚地提到了,您需要使用访问令牌来生成刷新令牌,并且可以用它替换现有的访问令牌。

$http = new GuzzleHttp\Client;

$response = $http->post('http://your-app.com/oauth/token', [
    'form_params' => [
        'grant_type' => 'refresh_token',
        'refresh_token' => 'the-refresh-token',
        'client_id' => 'client-id',
        'client_secret' => 'client-secret',
        'scope' => '',
    ],
]);

return json_decode((string) $response->getBody(), true);

现在您可以使用多种选择:

  • 撤消使用​​刷新令牌和新的访问令牌的时间已发出
  • 由与令牌关联的用户手动撤消
  • 在预定时间后撤消

查看oauth_access_tokensoauth_refresh_tokens表,这将帮助您了解需要在此处手动更新的内容。

© www.soinside.com 2019 - 2024. All rights reserved.