Для получения user_id или token_id из access token в Laravel 10 можно воспользоваться следующим способом:
1. Раскодировать access token с помощью метода base64_decode и получить данные в виде массива.
2. Извлечь необходимые поля (например, user_id или token_id) из этого массива.
Пример кода:
```php
$token = 'your_access_token_here';
$payload = explode('.', $token)[1];
$data = base64_decode($payload);
$data = json_decode($data, true);
$user_id = $data['user_id'];
$token_id = $data['token_id'];
```
Для реализации очистки всех refresh токенов пользователя в случае невалидности access token можно воспользоваться событиями Laravel. Например, можно создать Middleware, который будет проверять валидность access token и при необходимости выполнять очистку всех refresh токенов пользователя.
Для получения user_id или token_id по присланному refresh токену при возникновении ошибки с токеном можно использовать методы поиска соответствующих данных в базе данных. Например, предположим, что у вас есть таблица, где хранятся данные о refresh токенах пользователей. Тогда можно выполнить запрос к этой таблице, чтобы получить необходимые данные по переданному refresh токену.
Пример кода:
```php
$refreshToken = 'your_refresh_token_here';
$tokenData = DB::table('refresh_tokens')->where('token', $refreshToken)->first();
if ($tokenData) {
$user_id = $tokenData->user_id;
$token_id = $tokenData->token_id;
} else {
// обработка ошибки, если refresh токен не найден
}
```
Надеюсь, это поможет вам в реализации необходимой функциональности.