问题标签 [passport-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 投票
1 回答
484 浏览

node.js - 在 Nodejs 中为来宾和用户使用相同的 API 端点

我正在开发可选注册的酒店预订门户。在 Angular 应用程序中,每条路线都是公开的,客人可以搜索和预订酒店,如果用户已登录,那么我将在标题中传递 JWT 令牌。在 NestJS (NodeJS) 后端,我需要允许用户和访客访问相同的端点,例如酒店搜索和酒店预订。我passport-jwt用作 Auth Guard,如果标头中不存在令牌,它将引发未经授权的行为。如何为注册用户和访客用户启用相同的路由?

0 投票
1 回答
247 浏览

javascript - Nestjs 护照-jwt 忽略 JWT 签名

我不能在这里传递任何秘密,因为它为每个用户存储在 Redis 中,我必须先解析令牌主体,然后才能访问用户 ID 以获取他们的秘密。使用 nestjs 进行架构。是否有任何优雅的解决方案,而无需自己编写整个策略副本?

0 投票
2 回答
467 浏览

passport.js - 如何访问 JwtToken 以检查 nestjs 护照策略中的黑名单?

我正在尝试在 JWTStrategy 中检查列入黑名单的 JWT 令牌。jwtFromRequest不采用异步功能,所以我不能在那里检查。

validate函数允许访问 JWT 有效负载而不是令牌。

下面是我的示例代码。

0 投票
3 回答
1784 浏览

typescript - TS2339:“请求”类型上不存在属性“用户”

我正在尝试使用 JwtAuthGuard 来区分经过身份验证的请求和未经身份验证的请求。

我确实遵循了有关 authentification 的 Nestjs 官方文档,但是,由于出现打字稿错误,我无法使其工作:TS2339: Property 'user' does not exist on type 'Request'.

bookmarks.controller.ts

strategies/jwt.strategy.ts

0 投票
0 回答
783 浏览

node.js - 检查护照jwt中jwt令牌是否已过期的正确方法

我创建了一个中间件来检查jwt 令牌是否已过期。

由于某种原因,TokenHasExpiredError没有被拦截为passport.authenticate.

这是我的中间件

我有一些问题:

  1. 从上面的代码中,为什么TokenExpiredError或任何其他错误没有被拦截为错误。
  2. info回调中的参数是什么?我在文档中找不到它。
0 投票
0 回答
38 浏览

passport-jwt - 替代user.findone?

请多多包涵。我是一个完全的 js 菜鸟,几周前才开始学习。我正在尝试使用静态 user.json 文件而不是 mongo.db 的 jwt-passport 策略,并且在这一行感到困惑

我已经尝试过 foreach,if 语句,但没有得到相同的结果。我应该使用什么方法或函数来获得这些结果?我从猫鼬文档 tt 中了解到,上面的代码正在返回另一个文件中定义的用户的 payload_jwt.sub。在此处输入图像描述

0 投票
1 回答
1720 浏览

node.js - TypeError:Joi.validate 不是函数

我已经尝试了这个站点和 GitHub 中提供的所有解决方案,但它对我不起作用,因为我的 routes/user.js 的结构不同。另外,我是 Nodejs 的新手。我需要帮助来更改const result = Joi.validate(req.body, schema); routeHelper.js 和

在里面routes/user.js

0 投票
1 回答
33 浏览

express - 对身份验证技术的怀疑 - 护照

所以我正在尝试使用快速服务器passportpassport-jwt使用快速服务器的身份验证技术。这是我一直在使用的代码

因此,使用此护照授权的全部目的是尽量减少访问数据库的次数,对吧?

但是在这段提取token后的代码中,通过findById查找用户是否在数据库中的方法访问数据库,那么如果每次认证请求都访问数据库,那么这一切有什么意义呢?

我很确定我说错了什么,非常感谢澄清此事的一些帮助。

0 投票
1 回答
52 浏览

express - 如何使用passport-jwt获取当前登录用户

我实施了passport-jwt来验证受保护路由上的用户,并且我想在创建第一个管理员之前检查用户登录,请帮助我如何做到这一点。这是我实施的护照-jwt 代码

0 投票
2 回答
151 浏览

node.js - 护照验证 jwt 没有响应

我有一个基本的 MERN 登录/注册应用程序,其中包含一个虚拟保护路由,仅对登录用户可见。我已经设置了与登录和注册相关的所有内容。我在 cookie 中从服务器发送 jwt 令牌。解决这个问题的方法很好。我可以注册,我可以登录。/protected但是当我对路由进行 GET 调用时,passport.jwt似乎不起作用。里面什么也没有发生。这是我的passport.js配置:

这是userRoutes.js

最后,这是我的verifyLoginloginUser控制器userController.js

控制器loginUser工作得很好,我可以看到响应的令牌,而且我有一个带有 jwt key:value 对的 cookie。但是第三个控制器在调用verifyLogin后没有做任何事情。passport.authenticate

有什么想法我可能做错了什么吗?