问题标签 [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.
graphql - 在 Nestjs 中使用 graphql 进行授权
我已经开始学习 Nestjs、express 和 graphql。我在尝试授权使用 jwt 令牌进行身份验证的用户访问时遇到问题。我按照Nestjs 网站上的身份验证教程进行操作。我能够获取当前用户,但是当我尝试实现基本角色基础访问控制时,我无法在 canActivate 方法中访问当前用户。我认为这是因为 Roles Guard 在 Graphql Guard 之前执行。
我将在这里发布代码
gql-auth.guard.ts
角色.guard.ts
jwt.strategy.ts
解析器
有没有人成功实施过这个?
nestjs - 如何在 Nest JS 中实现 Retrace 分析工具
我尝试在 Nest JS 中实现 APM(Retrace) 分析工具。在 Nest JS 中,我无法获得任何用于实现分析的文档。但是我在 Node JS 中看到了实现 Profiling 工具的方式与在 Nest JS 中的执行方式相同,任何人都可以告诉我
typescript - Nest 无法解析全局模块中服务的依赖关系
我有一个名为FirebaseModule
导出 a的全局模块FirebaseService
,我将此模块导入到app.module.ts
,然后我尝试使用FirebaseService
内部 aUsersService
并且它因缺少依赖关系问题而失败。
有趣的是,如果我删除服务上的使用并仅在控制器上使用它,一切都会失败,但如果我想在服务提供者中使用它,它就会开始失败。
我的代码:
app.module.ts
firebase.module.ts
users.module.ts
users.controller.ts
users.service.ts
我收到以下错误:
nestjs - NestJS 更新后 AuthGuard 损坏
我有一个使用 jwt 实现身份验证的 NestJS(版本 6)项目。以下配置运行良好:
但是,由于我更新了 nestJs 核心和通用模块,我无法提取身份验证。我的@CurrentUser
装饰器在请求中找不到用户对象。巢模块已更新为以下内容:
现在我的@UseGuards
装饰器抛出了这个自定义错误:
看来 AuthGuard 在版本 7 中的工作方式略有不同。还有其他人遇到过这个问题并且能够帮助我吗?
nestjs - Nestjs中的createParamDecorator VS CanActivate进行授权
我正在尝试根据用户的权限授权用户。使用 createParamDecorator 和 CanActivate 方法在功能上有什么区别吗?
nestjs - 如何在nestJs中使用护照本地策略对多个实体进行身份验证?
我有两个不同的实体:公司和用户都必须使用电子邮件和密码进行身份验证。我设置了 2 个不同的类来扩展护照策略,如下所示:
和本地身份验证警卫类:
以及身份验证控制器中的此登录方法:
我在 CompanyAuthentication 模块中创建了相同的内容,但是当我尝试使用公司登录时,我收到了错误的凭据错误。你能帮忙吗?顺便说一句,我正在关注本教程:https ://wanago.io/2020/05/25/api-nestjs-authenticating-users-bcrypt-passport-jwt-cookies/
passport.js - 如何使用护照和nestjs将api密钥作为请求url上的查询字符串传递
我按照https://www.stewright.me/2021/03/add-header-api-key-to-nestjs-rest-api/制定了 api-key 策略
它有效,我在标题中传递 api-key 并授权它。
现在对于某些情况,我需要将 api-key 作为查询参数传递给 url 而不是 header。我无法弄清楚。
例如 mysite.com/api/book/5?api-key=myapikey
我目前的代码是
api-key-strategy.ts
api-key-auth-gurad.ts
应用程序控制器
node.js - Nestjs 身份验证在 docker 容器中不起作用
我使用 Angular 作为前端和 Nestjs 作为后端开发了一个全栈应用程序。该项目使用 NX 组织在一个单一存储库中。该项目在我的本地机器上运行良好,包括身份验证(来自 Nestjs 的 Passport 库)。
所以我决定对应用程序进行 docker 化,但是当应用程序在 docker 容器中运行时,来自 Nestjs 后端的受保护路由无法访问,尽管使用了从运行在码头集装箱。
我将项目从 bcrypt 迁移到 bcryptjs,因为在构建 docker 容器时出现错误。最让我困惑的是,在我的本地机器上一切正常,但在 docker 容器中,尽管使用了我从后端获得的 JWT 令牌,但受保护的路由仍无法访问。
Dockerfile
码头工人-compose.yml
如何解决身份验证问题?什么可能导致 docker 出现这种奇怪的行为?
Jwt策略:
为了保护我正在使用的路线:护照库的@UseGuards(AuthGuard())
位置AuthGuard
。
授权模块:
authentication - 如何在 Nest Js 中从 Google 登录验证 access_token
我有 Angular 应用程序作为前端和 NestJs 应用程序作为后端。
我使用 Google Api 登录,我得到了 access_token、token_type、id_token、scope、expires_at 等的成功响应
我需要使用这些令牌来验证 NestJs api。
我怎样才能做到这一点?有谁能帮帮我吗?