@Kerm

Можно ли в Laravel 10 получить user_id или token_id имея только access token?

Авторизация сделана через пакет 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.

Как это сделать?
  • Вопрос задан
  • 39 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы