如何从 expressjs 发送 jwt 令牌以响应应用程序? [关闭]

Posted

技术标签:

【中文标题】如何从 expressjs 发送 jwt 令牌以响应应用程序? [关闭]【英文标题】:How to send jwt token from expressjs to react application? [closed] 【发布时间】:2021-03-05 12:31:40 【问题描述】:

我想从 expressjs 路由器发送 jwt 令牌以响应应用程序。

我使用google-passport 登录。对于登录,react 应用程序将其重定向到服务器,一旦服务器对用户进行身份验证,它就会重定向回 react 应用程序。

在查询中发送令牌不是一个好的选择。

发送令牌的其他安全选项是什么?

节点服务器在 8080 上运行,而 react 应用在 3000 上运行。

我正在使用express-session 来维护会话。不知道能不能用这个。以及如何从 React 应用中读取此会话。

谢谢

【问题讨论】:

可能是授权标头? 【参考方案1】:

您可以将 jwt 作为 Authorization 标头传递。

因此,在您的 fetch 请求(或 axios )中,只需添加一个标头,例如,

headers: 
'Authorization': `Bearer $YourJWT`

但对于 express-session,它将会话数据存储在服务器中(内存/内存中的数据库,如 redis/数据库,如 MongoDB)

它向客户端发送一个cookie,由客户端返回,并在服务器端与会话数据进行验证。这称为有状态身份验证,因为服务器使用它来维护经过身份验证的用户的状态。

【讨论】:

以上是关于如何从 expressjs 发送 jwt 令牌以响应应用程序? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用基于网站的 ExpressJs 设置 CORS 和 JWT 令牌验证

在 ExpressJs 中使用时 JWT 中的多个问题

使用 JWT 时出错,还想将 JWT 令牌发送到其他 API

如何将 JWT 令牌从 PHP 发送到 Angular?

如何在jwt中过期时刷新令牌

如何使用passport-jwt在nodejs中发送/提取JWT令牌?