问题标签 [nestjs-passport]

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 回答
23 浏览

nestjs - 从控制器中的 NestMiddleware 获取详细信息

我在 NestJS 中使用 Firebase 身份验证。客户端在请求标头中发送 authToken,在中间件中对 req 令牌进行解码。我想从我可以在中间件中执行的解码令牌中获取电子邮件和相应的 firebase uid。

所以我在中间件本身中有所需的信息,我怎样才能在我的不同控制器中获取这些信息,从那里到服务?

PS 一种方法是添加信息req并在req: @Request. 但是还有其他更好的方法吗,因为我不想使用 expressJS 方式来执行此操作,而是使用 NestJS 方式。

0 投票
1 回答
41 浏览

nestjs - 将信息从 NestJS 中间件传递到控制器/服务

我已经在 NestJS 中间件中应用了身份验证,并通过第三方 API 从用户令牌中解码了所有信息。

现在我已经在我的中间件中获得了信息,我如何将这些信息发送到控制器和服务?

0 投票
0 回答
91 浏览

unit-testing - 如何在 Nest js 单元测试中配置邮件选项

我是这个框架Nest JS的新手。当我尝试实施单元测试时,它会抛出节点邮件错误。我不知道如何在单元测试中配置邮件选项。所以,我谷歌它如何解决这个问题。我得到了答案,我尝试了那个答案,但它不起作用。许多实现单元测试的第三方模块会抛出错误,例如(JWT_module 选项,节点邮件程序)

代码

面对这个错误

在此处输入图像描述

如何解决此问题

0 投票
1 回答
73 浏览

jwt - NestJS - 护照和策略错误身份验证策略必须有一个名称

新手到 NestJS,我尝试实现 Passport,当我构建应用程序时,得到:

身份验证策略必须有名称

在 auth.module 中:

策略(JwtStrategy 类)看起来像:

几个小时后,我没有找到任何回应......当然我错过了一些东西,但不知道是什么。

谢谢你的回答...

0 投票
0 回答
23 浏览

typescript - 无法使用嵌套读取未定义的谷歌身份验证的属性“0”

我目前正在做一个项目,我希望用户能够通过谷歌连接并将他们的数据保存在我的数据库(MongoDB)中。重定向效果很好,但是当我连接到我的帐户时,我收到如下错误:

无法读取未定义的属性“0”

google.startegy.ts 文件:

0 投票
0 回答
106 浏览

cookies - NestJS 身份验证 JWT Cookie

任何人都可以帮助我,我不知道哪里错了,但我的 jwt 身份验证不起作用,它不运行函数 validate 甚至我的请求?.cookies?.["jwt"] 存在并且总是返回状态代码 401。这是我的代码: jwt.strategy.ts:

auth.module.ts:

0 投票
0 回答
83 浏览

passport.js - NestJS 8 自己的 AuthGuard 和 Passport:无法读取未定义的属性“身份验证”

我有自己的 AuthGuard 实现:

当我调用authenticate方法时,我得到:Cannot read property 'authenticate' of undefined at Authenticator.authenticate (.../node_modules/passport/lib/authenticator.js:162:26

好像 Passport 还没有启动。

授权模块:

和应用模块:

这段代码在 Nest 7 中运行。

你知道有什么问题吗?

0 投票
0 回答
46 浏览

jwt - JWT 策略突然停止工作

我有一个 JWT 策略,其验证功能类似于

登录后,我得到一个由 JWT 服务签名的访问令牌并尝试获取用户配置文件

JWT模块配置如下

我所做的以下我认为可能会破坏 JWT

  1. 将 JWT 机密从“hello_world”更改为随机字符串
  2. 将 expiresIn 更改为“10d”

请注意,我还尝试恢复上述更改并尝试登录。它正在根据新配置返回访问令牌,但仍然是相同的 401 Unauthorized 问题

0 投票
1 回答
652 浏览

jwt - Nestjs 中是否有本机方法来解码 JWT?

在 nestjs 中,我通过创建有效负载对象并对其进行签名来创建 JWT(令牌)。像这样的东西:

Nest 将 jwtPayload 编码为字符串。

对于清理工作,我想知道 JWT 的确切到期时间。这会被 .sign() 函数自动编码到 ' signedJwtAccessToken ' - 属性.exp - 中。

要在签名后立即访问它,需要对其进行解码。

在签名后立即以相同方法解码signedJwtAccessToken的最简单方法是什么?

笔记:

当 JWT 从客户端返回时,nestjs 在访问 fn: validate() 时对其进行解码,但我想在签名后立即解码 - 在向客户端发送响应之前,例如:

0 投票
0 回答
23 浏览

passport.js - 使用 Nestjs & PassportJs 获取 google adwords 的 login_customer_id

我正在将 google adwords 集成到我的 nestjs 项目中。我正在使用护照谷歌策略进行谷歌身份验证,并且在登录时获得谷歌访问令牌和刷新令牌。我在谷歌策略中给出了谷歌广告词的范围。我希望在登录后返回 google adwords login_customer_id。谢谢

谷歌战略