- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在使用 jsonwebtoken在 NodeJs API 应用程序中用于验证我的 API 应用程序中的用户。我设置的流程如下:
1) 用户通过注册 API 注册,并使用以下方式生成访问 token :
var jwt = require('jsonwebtoken');
var token = jwt.sign(user, _conf.authentication.superSecret, {
expiresIn: 1440 // I intend to keep it short.
});
2) 例如, token 会在 24 小时后过期。此 token 将返回给客户端移动应用程序,以用作所有后续 API 请求中的 header 。
我想知道如何处理 jwt 的刷新 token 。目前我没有刷新 token 的机制。因此,如果 token 在 24 小时内过期,我希望客户端(移动应用程序)能够请求新的访问 token 。提前致谢。
最佳答案
我在一个项目中遇到了同样的问题。
1) 我创建了刷新 token 并在用户登录时返回它(使用 jsonwebtoken)。我与用户一起保存了刷新 token 。
2) 当客户端使用过期 token 发送请求时,服务器返回401。
3) 我实现了刷新 token 的新路径。它接收刷新 token 和用户作为参数并返回一个新 token (jsonwebtoken)。
4) (可选)您可以实现一种机制来使刷新 token 失效,以防有人窃取它
我在这篇文章中基于我的实现,非常好的片段:
Refresh token in JWT (Node.js implementation)
希望对你有帮助
关于node.js - 刷新 token Jsonwebtoken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37859852/
我正在使用 Vue 构建我的第一个 SPA 项目。 我决定在后端使用 NodeJS,但是,使用 JsonWebToken 构建登录功能让我很头疼。 我写了一些代码来查看 JWT 的工作原理,当我试图查
我有一个用于用户身份验证的应用程序,我遇到了这个问题,我有登录的用户并将 JWT (JsonWebToken) 存储在 cookie 中。我在验证用户后存储了 cookie。接下来,我作为管理员,在该
我是 JWT 世界的新手,我想为我的 React Native 应用程序用户创建一个 authToken。 但是,我不愿意让任何人读取里面的内容(例如 userMail、firstName 或 uni
我正在开发一个全栈项目,用户可以在其中创建帐户、访问他们的个人资料、创建博客、阅读他们的博客、删除他们的博客等。为了执行所有这些任务(注册和登录除外),用户必须待验证。 我已经完成了后端,但我不明白如
我正在使用 nodejs 和 angular cli 制作一个 Web 应用程序我正在使用 JWT 来验证我的登录功能。但是当我处理它时抛出了这个错误 Error: Expected "payload
我目前正在使用 React 开发一个网站,我希望能够让用户登录。现在我的策略是在提交时将表单数据发送到服务器( express ),如果信息与我的数据库中的用户匹配,服务器会发回一个没有敏感信息(只有
我正在尝试编译一个 typescript 文件,它一直从编译器中抛出这个错误:错误 TS2339:类型“string”上不存在属性“payload”|目的'。 “string”类型上不存在属性“pay
我收到了 JWT,并想验证它的签名。它未加密,基于 64 编码并使用 HmacSha256 签名。它是用我知道的 secret 签名的。 我似乎找不到任何关于如何在不使用 https://jwt.io
所以我试图通过在 Scalatra 中使用 JWT 来保护我的 Web 应用程序。目前,我将 Scentry 与用户密码和 RememberMe 策略一起使用,我的目的是将 RememberMe 策略
我正在尝试编译一个 typescript 文件,它一直从编译器中抛出这个错误:错误 TS2339:类型“string”上不存在属性“payload”|目的'。 “string”类型上不存在属性“pay
要使 token 无效,据我所知,存储 token 及其过期日期时间到数据库的最佳方法。要验证它,您只需从数据库中选择它,如果它存在,您就知道它已失效。此外,您可以根据过期日期时间从数据库中删除每个过
我目前正在尝试构建一个基于 token 的简单登录系统。我有一个简单的登录表单,可将凭据发送到服务器。创建 token 也对我有用。 如果用户登录并手动打开用户仪表板链接,服务器将收到获取请求。那
据说当您使用 ssl 时,您可以防止中间人从服务器窃取信息到客户端,反之亦然。在我的例子中,窃取了 jsonwebtoken。我还从其他答案中了解到,ssl 使用私钥和公钥。私钥存储在服务器上,公钥提
我正在为 node.js 使用 jsonwebtoken 包: 像这样创建 token : var token = jwt.sign(user, tokenSecret, {expiresInMinu
我正在尝试使用 node.js 设置用户级身份验证,所以我去执行 npm install -g jsonwebtoken --save。但是,当我使用 require('jsonwebtoken')
我正在尝试按照 guide 中的示例将 token 设置为在一小时内过期。 : jwt.sign({ data: 'foobar' }, 'secret', { expiresIn: 60 * 6
我正在尝试使用 Json Web token (在 article 的帮助下)验证我的 nodejs api,但问题是 token 永远不会过期。 var express = require('exp
我想忽略一些针对 token 身份验证进行检查的 API URL 我想保护 post 和 put 方法,但不想保护这个 url 本地主机:3000/api/events/ router.use(fun
我正在使用 jsonwebtoken在 NodeJs API 应用程序中用于验证我的 API 应用程序中的用户。我设置的流程如下: 1) 用户通过注册 API 注册,并使用以下方式生成访问 token
什么是JWT? JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案,也是目前前后端分离项目中普遍使用的认证技术. 本文介绍如何在Golang Gin Web
我是一名优秀的程序员,十分优秀!