Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用旧的laravel passport替换新的api访问令牌_Laravel_Api_Token_Laravel Passport - Fatal编程技术网

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

如何用旧的laravel passport替换新的api访问令牌,laravel,api,token,laravel-passport,Laravel,Api,Token,Laravel Passport,我需要生成一个访问令牌,而控制器上的方法将被特定路由调用。我的问题是如何为登录用户生成一个新的访问令牌,并将其替换为旧的(在oauth_access_tokens表e.a.更新用户状态或令牌中)我需要删除旧的访问令牌并用新的替换它。在我的情况下,passport有一个生命周期,每次用户做某事或完成或完成某个动作(例如呼叫路由等),我都需要生成一个新的访问令牌,并将其替换为现有的访问令牌。在中,非常清楚地提到,您需要使用您的访问令牌,要生成刷新令牌,您可以使用该令牌替换现有的访问令牌 $http

我需要生成一个访问令牌,而控制器上的方法将被特定路由调用。我的问题是如何为登录用户生成一个新的访问令牌,并将其替换为旧的(在oauth_access_tokens表e.a.更新用户状态或令牌中)
我需要删除旧的访问令牌并用新的替换它。在我的情况下,passport有一个生命周期,每次用户做某事或完成或完成某个动作(例如呼叫路由等),我都需要生成一个新的访问令牌,并将其替换为现有的访问令牌。

在中,非常清楚地提到,您需要使用您的访问令牌,要生成刷新令牌,您可以使用该令牌替换现有的访问令牌

$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\u访问\u令牌
oauth\u刷新\u令牌
,这些表将帮助您了解需要在此处手动更新的内容。

在中,非常清楚地提到,您需要使用您的访问令牌来生成刷新令牌,并且可以用它替换现有的访问令牌

$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\u access\u令牌
oauth\u refresh\u令牌
,这将帮助您了解需要在此处手动更新的内容。

我想您需要@PrafullaKumarSahu谢谢,我尝试过,但给定的刷新令牌无法验证用户身份,而且,旧访问令牌的记录仍然存在。您需要用新的替换现有的。谢谢,但是我可以替换新的吗?是的,下次您可以使用此生成另一个刷新令牌并再次替换。我想您需要@PrafullaKumarSahu谢谢,我试过了,但给定的刷新令牌无法验证用户身份,而且,旧访问令牌的记录仍然存在。您需要用新记录替换现有记录。谢谢,但我可以替换新记录吗?是的,下次您可以使用此记录生成另一个刷新令牌并再次替换。