问题标签 [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 投票
0 回答
819 浏览

node.js - Passport-JWT 令牌已通过,用户找到,但 isAuthenticated 返回 false

一直在处理一个艰难的问题,即使在深入研究 Passport 源代码几个小时后我也无法弄清楚。

我正在使用带有 jwt 的 passport.js 设置,并且发生了一件奇怪的事情,因为我在路由上的身份验证(在我的节点服务器上,使用封装路由的 passport.authenticate 进行身份验证)工作得很好 - 但是对 isAuthenticated 的调用失败尽管是登录并调用 jwt 策略并成功返回 done(null,user) 每次。

代码如下:

应用程序.js

auth.controller.js 中的相关代码是:

然后深入到 passport.js,调用 isAuthenticated 方法,如下所示:

尽管属性为“用户”,但 this[property] 返回 null。

到目前为止,我已经尝试了许多相关的答案,包括弄乱我的 .findOne 函数来获取用户,以及修改我的中间件设置的顺序(这通常与会话有关,我没有与 JWT 一起使用)。

谢谢你的帮助,

0 投票
1 回答
274 浏览

node.js - 如何在passport-jwt中获取rawJWT字符串?

我正在使用 Express.js、Passport.js。Jsonwebtoken 我在数据库中保存了一个 JWT 编码的令牌。

我想用 Bearer 检查加密的 JWT。

JwtStrategy 允许我们接收 jwtPayload 对象。

但我需要得到一个加密的字符串。该文档包含 rawJwt,但如何获取加密字符串?如何提取?

));

0 投票
0 回答
216 浏览

javascript - 与“标准”JWT 身份验证相比,passport-jwt 是否引入了任何安全优势?

我默默地为我们基于 Express 的 RESTful API 构建了一些登录和身份验证功能。身份验证中间件如下所示:

Login.verifyLogin 函数使用这个,来自不同的模块:

很简单。问题是,与 passport-jwt 相比,此类功能是否会带来任何“安全风险”。我的意思是,通过观看有关此模块的教程,我所看到的基本上是相同的想法,只是更灵活和可配置。

我还要注意,例如,在 Laravel 中,他们“强烈建议”不要使用他们内置的基于令牌的 API 身份验证,并鼓励我们使用他们的 Passport 实现。

除了花哨的选项之外,有人能告诉我使用 passport-jwt 的真正优势是什么吗?

0 投票
1 回答
1440 浏览

vue.js - 使用 Vue js 应用程序登录 Steam

我写在这里是因为我想制作一个处理反恐精英锦标赛的应用程序。

我想在 VueJS、nodeJS 和 mongoDB 中开发这个应用程序。有没有办法我可以通过 vue js 登录 Steam 并获取用户的帐户信息?我到处搜索,但找不到任何文档。我已经让它在我的 nodeJS api 上工作,但是当涉及到会话和身份验证时,它只在我的 api url 上工作,这与我的 vue js 应用程序不同。

非常感谢。

0 投票
1 回答
204 浏览

passport.js - 在 NestJS 中更新用户名后如何刷新 JWT 令牌?

我一直在使用 Passport JWT 进行身份验证,签名的有效负载是用户名和卖家。现在的问题是,每次我更新用户名并尝试获取用户详细信息时,它都会给出 401。所以我正在寻找一种方法来优雅地使用nestjs 中的护照 jwt 来处理这个问题

0 投票
2 回答
1630 浏览

authentication - 自定义 jwt 策略 NestJs 验证失败的响应

我使用nestJs成功实现了一个jwt策略进行身份验证。

下面是 jwt 策略的代码

我在这里看到,只有在请求标头中提供了有效令牌时才会调用 validate 函数,我对此表示同意。但是,我想知道是否可以自定义在这种情况下发送的响应对象(提供的令牌无效)。

如果是,我该怎么做?

0 投票
0 回答
165 浏览

javascript - 为什么在“passport.authenticate()”之后添加“(req, res)”?

我正在关注一个 Node.JS 教程,我在上面看到了以下代码:

我不明白为什么它在 JavaScript 语法和特定函数(req, res)之后都添加了?passport.authenticate()authenticate()

0 投票
2 回答
1003 浏览

php - 多租户 laravel 应用程序中的护照实施问题

首先,我在我的 laravel 6 应用程序中使用Hyn -Multi Tenant有一个中央数据库 [connection = system] 处理多个租户数据库。到目前为止,这个包对我帮助很大,但我的应用程序需要为 API 实现护照,这在包中没有记录。

但是,还有其他教程声称在 Hyn 包上实现了护照。我跟着他们,能够为每个租户用户创建访问令牌。

这是我的配置/auth.php:

我的每个租户模型都使用UsesTenantConnection特征

这是我的 EnforceTenancy 中间件

这是我的 AuthServiceProvider.php

到目前为止一切都很好,现在我将分点解释,

  1. 当我打电话createToken('MyApp')时,我能够在租户数据库上生成令牌,例如:

但要访问受登录保护的 api,我在标头中发送不记名访问令牌

api.php

我得到回应{"message":"Unauthenticated."}

  1. 在步骤 1 中生成令牌后,我复制此令牌并粘贴到邮递员的标题部分并取消注释 AuthServiceProvider.php 中的自定义护照模型,如下所示

AuthServiceProvider.php

现在我可以访问api/meta路由,但是在登录和创建令牌时出现错误:

我只是想知道我哪里出错了,我知道我的解释非常模棱两可和令人困惑,但这就是我可以解释我的问题的全部方式。我准备提供更多说明,但我需要解决这个问题。

0 投票
2 回答
437 浏览

node.js - 如何在快递上使用passport-jwt策略来保护邮政路线

我正在使用 passportJs 对我的应用程序上的用户进行身份验证,我可以创建用户,为他们创建凭据,并且他们可以毫无问题地登录。对于受保护的路线,我使用的是 passport-jwt 策略,所有路线都可以正常工作。但是,我一直在尝试对创建这些用户的路由使用相同的护照策略,但无论我做什么,我总是得到未经授权的响应 401。在前端,我使用 react 和 axios。这是我的护照代码:

这是创建用户的路线:

此 JWTstrategy 适用于创建用户的所有获取路由,但此路由除外。

这是我从前端的请求:

这是我得到的错误:错误:请求失败,状态码为 401

有谁知道为什么会这样?我可以使它工作的唯一方法是从注册路线中删除护照-JWT 策略,但这并不安全。请帮忙!

0 投票
1 回答
3910 浏览

passport.js - Nuxt auth 与passportjs?

如何使用JWT(后端快递)将nuxt auth Module(前端)与本地护照一起使用?

定义 jwt 策略以验证 jwt 令牌(快递)

定义本地策略以验证用户名和密码(快递)

验证用户名和密码后颁发令牌的代码(快递)

nuxt auth 本地策略使用用户名和密码返回 JWT 令牌 (nuxt)

它可以独立工作我如何结合这些?