У меня проблема, и я надеюсь, что вы можете помочь:)
Я использую Laravel Passport для обработки аутентификации для моего веб-приложения. Я могу без проблем сгенерировать токены доступа и обновленные sh токены.
Проблема возникает, когда я пытаюсь обновить sh свой токен. Я написал код в соответствии с документацией Laravel:
public function refresh_token(Request $request){
$refresh_token = $request->cookie('refresh_token');
$http = new \GuzzleHttp\Client([
'base_uri' => env('OAUTH_PWD_GRANT_BASE_URL'),
'http_errors' => false
]);
$response = $http->post('/oauth/token', [
'form_params' => [
'grant_type' => 'refresh_token',
'refresh_token' => $refresh_token,
'client_id' => env('OAUTH_PWD_GRANT_CLIENT_ID'),
'client_secret' => env('OAUTH_PWD_GRANT_CLIENT_SECRET'),
'scope' => '',
],
]);
return $this->login_helper(json_decode((string) $response->getBody(), true));
}
Вот моя проблема: я хочу, чтобы мой новый токен доступа имел ту же область действия, что и предоставленный refresh_token
(или, точнее, как access_token
, связанный с refresh_token
).
Как я могу это сделать?
Я попытался просмотреть базу данных, чтобы найти свой refresh_token
, и получить связанный access_token
, но неясно, как получить доступ к refresh_token
(refresh_token, который я установил в своих файлах cookie, не отображается в базе данных - я не понимаю, что за этим стоит).
Большое спасибо за помощь!