У нас есть собственная служба API, которая при вызове с помощью электронной почты и пароля проверяет пользователя и отправляет обратно несколько JWT (веб-токенов JSON).
В настоящее время моя измененная функция входа в систему находится восновной laravel AuthController, который отправляет данные из моей формы входа в систему для вызова API, и после отправки я сбросил 4 токена.
Дампированные токены:
{#719 ▼
+"access": "...token..."
+"check": "...token..."
+"permission": "...token..."
+"secondary": "...token..."
}
Проблема в том,, после интеграции use \Firebase\JWT\JWT;
и попытки выгрузить декодированную версию моих токенов, например, так:
public function login(Request $request)
{
$key = "publicKey";
$this->validate($request, [
'email' => 'required',
'password' => 'required',
]);
$credentials = $request->only('email', 'password');
$email = $request->input('email');
$password = $request->input('password');
$authService = new AuthService();
$login = $authService->loginGetToken($email, $password);
$decoded = JWT::decode($login, $key, array('HS256'));
dd($decoded);
return redirect(route('auth.login'))
->with('login', $login);
}
Я получаю ошибку о неправильном количестве сегментов.
Теперь, если я скопирую любойодин из токенов в переменную $ login, тогда он отлично выгружает декодированные данные, так что это очевидно, потому что у меня есть несколько токенов за один вызов.
Как правильно декодировать все 4 этих JWT, чтобы я мог их кэшировать и получать доступ к их информации?Есть ли способ зациклить или повторить это?