问题标签 [nestjs-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 投票
6 回答
12060 浏览

authentication - NestJS jwt-passport 身份验证

我想实现一个分布式身份验证库以在多个项目中使用它。该库应实现 JWT 身份验证方法。代码如下:

jwt.strategy.ts

jwt.auth.module.ts:

我已经在我的app.module.ts

但是,每次我尝试打开项目 url 时,都会出现错误:

[Nest] 27645 - 24.10.2018, 15:23:26 [ExceptionsHandler] 未知身份验证策略“jwt”+4119ms 错误:尝试未知身份验证策略“jwt”(/home/user/workspace/permissions/node_modules/passport/lib /middleware/authenticate.js:187:37) 在验证 (/home/user/workspace/permissions/node_modules/passport/lib/middleware/authenticate.js:363:7) 在 Promise (/home/user/workspace/permissions /node_modules/@nestjs/passport/dist/auth.guard.js:83:3) 在 /home/user/workspace/permissions/node_modules/@nestjs/passport/dist/auth.guard.js 的新 Promise () 处: 75:83 在 MixinAuthGuard。(/home/user/workspace/permissions/node_modules/@nestjs/passport/dist/auth.guard.js:47:36) 在 Generator.next () 在 /home/user/workspace/permissions/node_modules/@nestjs/护照/dist/auth.guard.js:19:

我究竟做错了什么?

0 投票
5 回答
10930 浏览

typescript - NestJs JWT 身份验证返回 401

我在nestJs 中实现了jwt 身份验证。但是,每当我尝试使用以下授权标头进行身份验证时:

我得到了 401。这些是我的身份验证文件

这是我的身份验证模块

0 投票
2 回答
3445 浏览

typescript - 使用nestjs进行身份验证,使用JWT策略的护照

我正在尝试为任务应用程序实现 nestjs 身份验证和授权

我正在使用带有护照的 JWT 策略

但我无法实现注销方法

我试过了

它返回 200 但我仍然可以使用令牌为刚刚注销的同一用户获取数据

我的 jwt 策略文件

在tasks.controller中我像这样使用它

我的 auth.module.ts

我希望能够注销用户并且令牌应该无效并返回 401

0 投票
3 回答
8266 浏览

typescript - NestJs Passport jwt 未知策略

我正在尝试在我的嵌套应用程序中实现 JWT 身份验证策略。
我收到以下错误

未知的身份验证策略“jwt”

这是我的代码:
jwt.strategy.ts

我的身份验证模块:
authentication.module.ts

我正在尝试在以下控制器中使用它:
users.controller.ts

用户模块如下所示:
users.module.ts

JwtAuthGuard只是一个从AuthGuard('jwt') 我遵循官方文档中的nestjs身份验证指南扩展而来的类,但不能让它在我的UsersModule中运行

0 投票
4 回答
7494 浏览

typescript - 找不到模块“护照”或其相应的类型声明

我正在使用@nestjs/passport。运行后npm run start:dev出现错误,但编辑器没有显示错误

输入代码:

知道问题可能是什么吗?

0 投票
1 回答
986 浏览

typescript - jwt 服务 this.jwtService.sign 不是函数

在 AuthService 中使用此代码:

在运行时编译后,我会收到以下错误:

[Nest] 12998 - 07/03/2020, 9:22:20 PM [ExceptionsHandler] this.jwtService.sign 不是函数 +213303ms

以下是 AuthModule:

任何想法如何解决?

我重新安装了 npm,删除了节点模块并尝试修改代码。但它仍然不起作用。

0 投票
3 回答
1848 浏览

jestjs - NestJS/TypeORM 单元测试:无法解析 JwtService 的依赖关系

我正在尝试对这个控制器进行单元测试并模拟它需要的服务/存储库。

这是我的单元测试文件:

但是在运行它时,我收到以下错误:

我不太确定如何进行,所以我需要一些帮助。

0 投票
2 回答
8340 浏览

nestjs - Nest 无法解析 AuthService 的依赖关系

我正在关注此处提供的文档

https://docs.nestjs.com/techniques/authentication#jwt-functionality

为了获得更快的支持,我创建了一个有问题的 git 存储库

https://github.com/Sano123456/nestjs-jwt

第一个问题: 在 AuthModule 中,如果我按照文档中的说明进行操作并仅导入 UserModule,它会返回 UserModule 和 AuthModule 之间循环依赖的错误

错误:

AuthModule 的导入数组中的可能解决方案而不是 UserModule 提出了 Ref(() => UsersModule),这实际上消除了错误,但不确定这是否是正确的方法

第二个问题: 它说找不到 LocalStrategy 类,即使它存在并在 AuthModule 中声明

现在可能的解决方案我没有任何解决方案,我只是将其删除以了解问题所在

第三个问题:去掉LocalStrategy后,

有人解决了这个问题吗?

0 投票
1 回答
1535 浏览

nestjs - NestJS - 在拦截器中使用服务(不是全局拦截器)

我有一个使用自定义拦截器的控制器:

控制器:

我也有我的 SignService,它是 NestJwt 的包装器:

标志服务模块:

最后是SignInterceptor:

SignService 工作正常,我使用它。我想将其用作拦截器如何将 SignService 注入到 SignInterceptor 中,以便可以使用它提供的功能?

0 投票
1 回答
1109 浏览

jwt - NestJS - 如何在 jwt 服务上创建包装服务(来自 jwt 模块)

抱歉我的英语不好,我来自乌克兰 :) 你能告诉我如何创建自己的服务,从 npm 包中扩展 Jwt 服务提供的 jwt 模块吗?我想创建自己的 JwtService 来捕获错误并隔离重复的逻辑以进行令牌创建和验证。请帮帮我,我该怎么做。附上代码示例。

或者我需要将nestjs jwt服务注入我自己的服务?例子:

但它对我不起作用,我也有类似的错误:

错误:Nest 无法解析 OwnJwtService (?) 的依赖关系。请确保索引 [0] 处的参数 JwtService 在 AuthModule 上下文中可用。