Авторизация сделана через пакет passport, настроено получение акесс токена и рефреш токена, обновление токенов.
По тз надо в случае получения не валидного рефреш токена, чистить все ревреш токены пользователя, но вот как это сделать?
public function refresh(RefreshRequest $request): JsonResponse
{
$baseUrl = env('APP_URL_DOCKER');
$response = Http::asForm()->post("{$baseUrl}/oauth/token", [
'refresh_token' => $request->refresh_token,
'client_id' => config('passport.password_grant_client.id'),
'client_secret' => config('passport.password_grant_client.secret'),
'grant_type' => 'refresh_token'
]);
$result = json_decode($response->getBody(), true);
if (!$response->ok()) {
// Если произошла какая либо ошибка с токеном
return response()->json(['error' => $result['error_description']], ResponseAlias::HTTP_UNAUTHORIZED,
Common::HEADER, JSON_UNESCAPED_UNICODE);
}
return response()->json($result, ResponseAlias::HTTP_OK, Common::HEADER,
JSON_UNESCAPED_UNICODE);
}
И вот если произошла ошибка с токеном я хочу как то используя присланный рефреш токен получить по нему user_id или хотя бы tokenId.
Как это сделать?