我需要生成访问令牌,而控制器上的方法将由特定路由调用。我的问题是如何为登录的用户生成一个新的访问令牌并将其替换为旧的访问令牌(在oauth_access_tokens表中,例如,更新用户状态或令牌)。我需要删除旧的访问令牌并将其替换为新的令牌。就我而言,护照具有生命周期,每当用户执行某项操作或完成或执行某项动作(例如呼叫路线等)时,我都需要生成一个新的访问令牌并将其替换为现有的一个。
在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_tokens
和oauth_refresh_tokens
表,这将帮助您了解需要在此处手动更新的内容。