从服务器端向客户端发送 jwt 令牌的正确方法是什么?

What is the correct way to send a jwt token from server side to client side?

啰嗦但我正在使用 Google 的 Youtube v3 数据 API node.js 包来登录用户和查看播放列表等。当前,当用户使用 googles Oauth 重定向流程成功登录时,将调用路由服务器端,通过 url 查询参数传入代码。我能够解析它,用我的 oauth2Client 生成一个令牌,然后创建一个签名的 jwt。现在我将用户重定向到一个 url ,它具有签名的 jwt 作为 url 查询参数,然后在浏览器端解析并作为令牌存储在本地存储中,这是我第一次使用与 jwts 相关的任何事情,并希望确定我正在以安全的方式做事。因此,我不完全确定将令牌服务器端发送到客户端的方式是否正确,也不太确定从哪里开始寻找。

有多种方法可以将令牌从服务器端传递到客户端

1) 您可以在响应中传递令牌 2)你可以在响应头中传递令牌

您可以像 res.cookie(key, value)

这样传递响应

这不是正确的方法。如果服务器正在响应 XHR 请求(来自 javascript),则服务器可以在响应正文中发送 JWT。如果服务器正在响应常规浏览器请求(GET 或 POST,但未由 javascript 处理),那么将 JWT 放入 cookie 中会更容易。