【问题标题】:How to send JWT token to jQuery in Laravel如何在 Laravel 中将 JWT 令牌发送到 jQuery
【发布时间】: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”的包。

标签: php jquery laravel jwt


【解决方案1】:
but is it safe method?

是的,是的。如果您在 api 上执行 ajax 请求,这也是您会选择的常用方式。

唯一可能发生的是,当令牌为假时,api 返回错误代码 219(会话已过期)。

干杯,

尼克拉斯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-06
    • 2023-03-27
    • 2020-12-14
    • 2016-10-17
    • 2015-02-10
    • 2017-01-02
    • 2021-06-19
    • 1970-01-01
    相关资源
    最近更新 更多