问题标签 [express-jwt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
606 浏览

node.js - 在 NodeJS 应用程序中存储用于生成 JWT 的秘密的最佳实践

我正在使用 JWT 对 SPA(NodeJS 后端、Angular 前端)上的用户进行身份验证。我的用户模型中有一个函数可以在用户登录时生成 JWT:

这个“秘密”不应该被硬编码。它不应该在代码库或我的仓库中。那么处理这个问题的最佳/最安全的方法是什么?部署时符号链接的共享文件夹中的配置文件?数据库?

0 投票
0 回答
405 浏览

node.js - 使用 mocha js 单元测试 expressJwt 中间件

我试图弄清楚如何使用 Mocha 对以下路线进行单元测试。

我正在使用验证JsonWebTokens和设置的中间件req.user。这是我的测试

以下几行

正在通过Header

当我运行测试时,我总是得到一个404 status,这意味着找不到路线。我究竟做错了什么?我认为问题在于路由内部的中间件。

0 投票
1 回答
435 浏览

json - JSON Web Token exp 时间混淆

JWT 的最佳到期时间是什么,这样用户除非单击注销,否则永远不会被注销?请注意,node.js 服务器可能会一直启动并运行

0 投票
1 回答
1651 浏览

express - 如何在 express.js/passport-http-bearer 中撤销 express-jwt 令牌

这是我的路由器:

这是我的 signOut 端点:

我需要在端点中放入什么来撤销令牌。

我尝试将此功能放入我的路由器:

列表理解确实注销了:

我的端点中还有一个用户对象已注销:

现在如何将这些部分组合在一起并撤销 JWT 令牌,以便拥有令牌的用户无法再使用该令牌登录(或者立即将其过期)?

这是我的用户对象的一些示例控制台日志:

0 投票
1 回答
4141 浏览

node.js - express-jwt 不尊重不受保护的路径

关于 express-jwt 模块的信息可以在这里找到:

在我的main.js服务器文件中,我有以下内容:

处理我的路由的中间件在哪里user以及在哪里。auth我想做的很明显;拒绝对所有未经身份验证的用户进行 API 访问,除非他们尝试通过创建新用户apiv1/user/create和/或通过 登录apiv1/auth/login

但是,每当我尝试向上述不受保护的路径发出请求时,都会收到错误消息:

UnauthorizedError:未找到授权令牌

它仍在保护我指定为不受保护的路线!我也试过:

但这没有用。我也尝试将正则表达式用于除非路径,但这也不起作用。

我是app.all('/apiv1', token...)通过这个答案得出的,但该解决方案并没有为我提供所需的功能。

0 投票
1 回答
3708 浏览

node.js - angular-jwt 如何在没有秘密的情况下解码我的 JWT?

Auth0 团队创建了一个名为“angular-jwt”的东西,它有一个 jwtHelper 类。这个东西成功地解码了本地 JWT,没有我在服务器上使用的秘密。这怎么发生的?如果它们不安全,那么使用秘密对它们进行签名/加密有什么意义?

服务器上加密令牌的函数(使用“jsonwebtoken”):

来自客户端的代码:

这是完整示例的链接: http://github.com/auth0/ang...

0 投票
2 回答
1497 浏览

angularjs - angularjs中重复的ajax调用

我正在使用express-jwt构建一个宁静的 api。现在客户端正在进行重复的ajax调用,第一个发起者是angularjs,第二个发起者是other。第一个得到 204 作为响应代码,第二个得到 200 作为响应代码。我试图调试以获取此重复请求的来源,但我无法做到。

截屏

以下是带有 204 状态代码的标题详细信息

204响应码

以下是带有 204 状态代码的标题详细信息

200 响应码

任何人都可以建议可能是什么问题?

0 投票
1 回答
307 浏览

node.js - 护照反序列化用户未在帆中调用

我正在使用 Sails 0.11 版并尝试使用 jwt 身份验证配置应用程序。

配置/passport.js

服务/passport.js

AuthController.js

为什么我的 desesializedUser 函数从未被调用?我的代码有什么问题?

0 投票
1 回答
1153 浏览

node.js - Express 更新 JWT 以响应

我正在使用 JWT 令牌对我的应用程序中的用户进行身份验证。我将我的令牌发送到后端,req.headers.access_token检查我是否在数据库中找到当前令牌,如果它仍然有效,如果是,我更新令牌(更新expires),然后转到当前路线。这部分按预期工作。

我的问题是将令牌发送回前端,以便客户端可以使用更新的令牌发送下一个请求,但到目前为止我尝试的所有内容都没有正确更新标头:

没用。

我读到的某个地方还需要添加Access-Control-Expose-Headers,所以我在我的快速设置中添加了以下内容:

但同样的问题存在。

问题:

  • 如何更新响应标头中的令牌?
  • 人们通常如何一次处理多个请求(问题是,第二个请求将带有一个无效的令牌,因为我刚刚更新了旧的)

我将jwt-simplelib 用于我的 jwt

0 投票
1 回答
144 浏览

jwt - 您可以使用 express-jwt 签署令牌,因为它似乎主要关注 JWT 的验证吗?

我正在使用一个快速应用程序,我想实现基于令牌的身份验证我想知道我主要在客户端和服务器端需要哪些库?我查看了 express-jwt 我没有看到该库实际上可以签署 Web 令牌,但我可以清楚地看到它用于验证,所以我的 package.json 中也需要 node-jsonwebtoken 吗?在客户端,我在想像 jwt-decode 之类的东西?