我们有一个内部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,以便可以缓存它们并访问其信息?有没有办法循环或迭代这些?