【问题标题】:How to pass JWT token on client side?如何在客户端传递 JWT 令牌?
【发布时间】:2020-01-31 07:48:59
【问题描述】:

我有 2 页。一页用于注册,第二页用于用户详细信息。在注册页面上,用户将输入他的详细信息并注册。我的问题是注册后我想将用户重定向到只有注册用户才能看到他们的信息的详细信息页面。

我正在使用 JWT 进行身份验证。注册后,当我收到令牌时,我不知道如何将其传递到下一页。我想为令牌设置一个标题。但是在我设置标头时收到令牌后,当我在下一页重定向时此标头丢失。我没有发送任何 ajax 请求,而且我使用简单的 html 和 hbs 作为模板引擎。

【问题讨论】:

  • 这是真的吗?您调用您的 api 进行注册,然后 api 发送回客户端令牌。如果是这样,您可以将令牌保存在浏览器的localStorage中,并使用令牌调用详细页面的用户信息api。

标签: node.js mongodb express jwt


【解决方案1】:
  • 一旦您从服务器端获得令牌,请将其保存在浏览器中的 cookies本地存储 中。
  • 接下来创建用于从 本地存储coockies 读取令牌的通用方法,然后使用 Interceptor 为所有 ajax 调用将该令牌修改为请求标头

注意:浏览一下拦截器

【讨论】:

  • 但我没有发出任何 ajax 请求。那么如何在客户端访问此令牌以便我可以将其用于本地存储? .问题是我在服务器端有我的令牌。我正在重定向到另一个 URL,然后我丢失了我的令牌。
【解决方案2】:

如果您不在REST APIs 上工作,您可以使用会话进行用户身份验证。

这样一切都将在后端处理。 Passport 是一个很好的处理用户认证的包。

【讨论】:

猜你喜欢
  • 2015-11-01
  • 1970-01-01
  • 2019-11-15
  • 2017-12-04
  • 2019-10-02
  • 2021-08-12
  • 2020-12-21
  • 1970-01-01
  • 2015-09-20
相关资源
最近更新 更多