循环在一个调用中解码多个JWT令牌

时间:2018-12-23 16:29:46

标签: php laravel firebase firebase-authentication jwt

我们有一个内部API服务,当使用电子邮件和密码进行调用时,它会检查用户并发送回几个JWT(JSON Web令牌)。

我目前在主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变量中,那么它会很好地转储解码后的数据,所以很明显,因为在一个调用中我有多个令牌。

如何正确解码所有这四个JWT,以便可以缓存它们并访问其信息?有没有办法循环或迭代这些?

0 个答案:

没有答案