问题标签 [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.
sails.js - 如何从sails action2调用Passport Authenticate函数
我正在使用sails js v1.0。我不知道如何调用护照的身份验证功能。由于 req、res 和 next 在sails 新控制器类型(action2)中不存在。
我想在sails js v1 应用程序中使用基于护照JWT 的身份验证。
我的 config/passport.js 看起来像
typescript - NestJS JwtStrategy 使用 configService 传递密钥
我有来自文档示例(https://docs.nestjs.com/techniques/authentication)的 JwtStrategy 类:
当我this
在调用 super() 之前尝试访问时,出现错误。但我仍然想使用 configService 来获取密钥。
我知道我可以使用 env var 来做到这一点,但在我看来,服务方法是更清晰的解决方案。
我如何使用 configService 或者从中获取价值并传递给 super() 调用?谢谢。
node.js - 未经授权的 nodejs 的 Passport-JWT 身份验证
我是nodejs的新手。我需要使用 nodejs 创建和身份验证。在这里我找到了几个答案,但他们也使用了旧版本。我在这里使用这些版本
我使用此代码在我的节点应用程序中创建了 passport.js 文件。
我使用这个路由方法来创建一个带有身份验证的路由。
我使用邮递员创建令牌并检查身份验证。
我无法理解为什么它错了。findUserById 方法如下
我的代码有什么问题?为什么它每次都给
未经授权
在我的邮递员申请中。
node.js - 使用passport-jwt登录后未授权
我使用passport-jwt登录。它找到用户并且用户可以登录,但是登录后,我想重定向到用户仪表板没有任何反应,当它重定向到 localhost:8080/my/ 时,它在浏览器中显示未经授权,你能找出问题所在吗:
ps:当我passport.authenticate('jwt', {session: false})
从 my.js 中删除时,它可以工作并重定向到 /my/。所以我认为问题在于auth.js中的这部分代码或JWTStrategy。我不知道如何解决它!
这是我的代码:(对不起,代码太多)
auth.js:
验证.js:
用户.js
我的.js
javascript - 如何获得快速路线通过护照进行认证
我最近将我在 es6 中制作的样板更改为稍旧的 es5 版本。我不得不重新创建导出,需要而不是使用导入,并且路由现在可以正常工作。
我有这样的结构:
在我的身份验证路线中,我有登录和注册功能并生成令牌:
在我的 protected.js 中,我有以下内容:
在我的passport.js中
问题是当我尝试使用登录时获得的令牌访问:127.0.0.1:8080/api/protected/test 时,它给了我一个:Unauthorized
此外,console.log
内部:
- 序列化用户
- 反序列化用户
- jwt策略
从未显示,因此我认为没有使用护照中间件。
我怎样才能获得/protected
使用护照中间件的路线?
编辑:我尝试打印护照对象,我可以看到我的jwt
策略确实已定义。所以我不明白为什么它不想通过它。
node.js - JWT Passport 不从中间件返回用户数据
第一次提问者,长期搜索者。我在让用户对象从 Passport JWT 验证调用返回时遇到问题,我希望有人能帮助找出问题所在。
这是我的护照 jwt 配置:
这是我调用 JWT Passport 身份验证的路线:
这是我的server.js
文件,我在其中实例化路线。
也许我正在错误地使用 Passport JWT,或者错误地调用它,但是每次我测试它时,我都可以看到我正在创建的令牌,我可以看到在数据库中找到了用户,但是当return done(null, user)
叫做。
每次我使用 Passport 的本地策略注册和登录用户并生成 JWT 令牌时都没有问题,但由于某种原因,我无法从 Passport JWT 取回这个用户对象。
感谢您提供的任何帮助,我一直在搜索 Internet、Github、Stack Overflow 和许多关于这个问题的博客,但我还没有找到解决我的障碍的方法。
跟进:我在前端使用 React 来调用服务器。生成的 JWT 令牌在登录调用时使用键“JWT”设置在本地存储中,然后提取它以供下一次调用以查找用户数据,如下所示:
所以也许,我没有正确地在 Axios 中传递我的 JWT 身份验证标头?
mongodb - 用于超级账本作曲家 API 的 Passport JWt 身份验证
回调访问令牌我正在寻找一种解决方案来为超级账本作曲家 REST API 实施护照 jwt 身份验证策略。我已按照此链接设置护照身份验证https://www.codementor.io/gangachris125/passport-jwt-authentication-for-hyperledger-composer-rest-server-jqfgkoljn。
生成超级账本作曲家 API,创建作曲家休息服务器 docker 容器,API 受到保护,除了访问令牌生成、如何检索该令牌之外,一切似乎都正常工作。
我还用护照 jwt 创建了另一个 nodejs 应用程序,mongodb 添加了几个用户。我能够从该应用程序成功生成令牌并使用该令牌保护任何快速路由。
但我的挣扎点是如何为作曲家休息服务器 API 生成令牌
正如许多文章中解释的那样,我创建了自定义 jwt ,环境变量如下
自定义 jwt
环境变量
现在我应该从哪里生成令牌,如何检索该令牌,以便我可以捕获并将其传递到超级账本作曲家业务 API 的标头中。
请帮忙详细说明。
node.js - Passport JWT:req.user 始终未授权
我已经搜索了关于堆栈溢出的类似问题,但其中任何一个都不适合我,所以我再次问这个问题。
我正在使用passport-jwt来使用express
.
我想登录用户 id ,将其存储在其他模型中。但每次我得到 401 Unauthorized
这里是helpers/passport.js
这是server.js
路线/api/auth.js
控制器/auth/user.js
当我尝试使用邮递员但不工作时。
我也尝试过:ExtractJwt.fromAuthHeaderWithScheme('jwt')
因为它在某些问题中被赞成,但它不起作用。
我在用
“护照”:“^0.4.0”,“passport-jwt”:“^4.0.0”,
“jsonwebtoken”:“^8.3.0”
请帮我解决这个问题。
hyperledger-composer - Hyperledger Composer 中的 JWT 身份验证失败
我一直在关注Caroline 的博客来设置多用户作曲家休息服务器。所以,我有两台服务器,即。管理服务器和用户服务器。
如教程中所述,我:
- 在没有身份验证和单用户模式的情况下启动管理服务器。我用管理员卡启动了这个服务器。
- 在多用户模式下使用护照 JWT 身份验证启动用户服务器。我也用管理员卡启动了这个服务器。
- 创建了一个用户参与者并从管理服务器为用户生成了一张卡片。
- 在这一步中,我尝试与用户服务器(#2)交换 JWT 令牌,并且我也能够获取令牌。
- 使用 JWT 令牌 Ping 用户服务器。这会导致“错误:需要授权”。
我已经关注了Chris Ganga 的博客来实现 JWT。我的 COMPOSER_PROVIDERS 是:
我第一次从 Java 服务交换 JWT 令牌。为了创建不记名令牌,我编写了以下代码:
有了这个,我就能得到令牌。接下来,我使用此令牌将卡导入用户服务器上的钱包:
但是,这会导致:
请求 POST /api/Wallet/import 的未处理错误:错误:需要授权
发现1 一般情况下,当我们第一次使用auth bearer交换JWT时,会在mongo中创建一个名为“test”的db。该数据库包含三个集合:accessToken、user 和 userIdentity。但是,就我而言,当我交换令牌时,mongo 中没有创建任何数据库。关于如何调试它的任何建议?
注意:在我决定修剪并从头开始重新启动网络之前,整个设置工作得非常好。
node.js - Express.js:用户只访问他们创建的数据
我在 Express.js 和 MongoDB 上苦苦挣扎。我已经配置了passport login和passport-jwt,它工作得很好,但是现在我有一个问题。例如,我有两个用户和一个表,我希望当第一个用户登录应用程序时,他们可以访问他们创建的数据。什么是最好的解决方案?每个用户创建一个表?帮帮我,我感谢你的帮助!