Цикл для декодирования нескольких токенов JWT за один вызов - PullRequest
0 голосов
/ 23 декабря 2018

У нас есть собственная служба 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, чтобы я мог их кэшировать и получать доступ к их информации?Есть ли способ зациклить или повторить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...