【发布时间】:2020-06-08 21:09:07
【问题描述】:
当用户按下登录按钮时,我重定向到 usercontroller.php 并从 API 获取 jwt 令牌。
$result = $this->obtainAccessToken($request->email, $request->password);
然后我将 JWT 令牌和用户信息放入会话。
Session::put('user', $result);
然后将用户重定向到主页。
return redirect(route('home'));
一切正常。
我可以使用
在视图(刀片)页面中访问该令牌和用户信息Session::get('user');
但有时我需要向服务器请求 jQuery ajax。但我的 js 文件中没有令牌信息。如何将存储在会话中的令牌信息发送到 js 文件?
我还尝试将该信息存储在 Cookie 中,例如;
Cookie::queue('user', $result, 10);
但我无法在 jQuery 中使用;
$.Cookie('user');
它返回未定义。
更新
我找到了类似的方法;
<meta name="token" content="{{ Session::get('user')->token }} />
并使用 jQuery 访问
$('meta[name=token]').attr('content);
但这是安全的方法吗?
【问题讨论】:
-
我不知道 JWT 令牌是什么。 如果它不能公开显示,那么就没有安全的方法将它传递给任何 AJAX 调用。否则很好:)
-
Jwt 令牌是一种常见的 json Web 令牌,随请求一起发送。存在一个名为“jwt-auth”的包。