问题标签 [json-web-token]

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 投票
1 回答
24 浏览

angularjs - express 和 jsonwebtoken,防止配置对象返回

我使用 express、bookshelf、mysql、bcrypt 和 jsonwebtoken 进行了成功的注册过程。在我的前端,我有角度控制台。记录返回的响应。我得到一个看起来像这样的对象:

数据对象有我的令牌,一切看起来都很棒。问题是配置对象。它具有纯文本的用户名、密码和密码验证。这似乎是个坏主意。我宁愿自己返回令牌。我不知道它是来自快递还是其他插件。有问题的文件位于https://github.com/vrodriguez363/ng-express-gulp/blob/master/src/server/routes/api.js这个问题类似于Node http response return user password to angular which got没有答案。我记录的对象看起来像他的屏幕截图。

0 投票
0 回答
59 浏览

node.js - Node.JS - JSON Web Token,更新令牌信息

我正在创建一个 JSON Web 令牌,如下所示:

我的问题是,如果一个用户被删除为admin,或者如果一个不是admin,的用户被设置为 ,我该怎么办admin

我会把那个用户的黑名单tokenId吗?如果是这样,这是否意味着我需要开始将用户及其tokenId' 存储在数据库中?

此外,如果我将用户的 列入黑名单tokenId,为该场景创建一个特定的错误代码是否是一个好习惯,如果客户端收到该错误代码,它会重新进行身份验证并获得一个新的token

0 投票
1 回答
4144 浏览

node.js - JWT 和 express-JWT 有问题

我正在测试 express-jwt 和 jsonwebtokens。我以前从未使用过它,希望得到一些帮助!

我已经完成了基本设置,我只有一条受保护的路线。

不幸的是,我无法访问“/api”,因为它给了我这个错误

如果我使用 POSTman 并发出带有以下标头的 GET 请求

一切正常,我可以访问“/api”中的内容。

但我的问题出在我的快速应用程序中,特别是当我尝试将用户重定向到新的受保护路由时。

用户登录,我创建一个新的 jwt 令牌并将用户重定向到 '/api'

在这条路线中,我设置标题并呈现页面。

不幸的是,我收到以下错误

我的目标是能够将用户重定向到受保护的路线。

据我了解,由于 /api 是受保护的路由, express-jwt 应该设置我的授权标头。即使我尝试使用中间件手动设置标题,我仍然会收到错误消息。

任何帮助是极大的赞赏!

谢谢!

0 投票
2 回答
209 浏览

javascript - 使用 JWT 进行身份验证

我一直在关注这篇博文(https://auth0.com/blog/2015/04/09/adding-authentication-to-your-react-flux-app/),并且对 JWT 的某个方面感到困惑。

上面的帖子似乎通过检查是否有存储为 cookie 的 JWT 来测试用户是否已经登录,如果是,它只是对其进行解码以找到用户名和其他信息,并将用户重定向到经过身份验证的页。

我想知道是什么阻止了某人添加虚假的 JWT cookie 来访问应用程序的经过身份验证的部分?我一定遗漏了一些明显的东西。换句话说,在维护会话时,前端如何确保 JWT 是“由服务器签名”之类的,而不是为试图获得访问权限而欺诈性创建​​的?

0 投票
3 回答
10291 浏览

security - 如何在 React Native 应用程序中保持客户端 JSON Web 令牌的安全?

我们正在为 iOS 构建一个 React Native 应用程序,我们正在使用一个基于 node + express + jsonwebtoken 的内部 API。

当用户使用用户名/密码登录时,服务器会验证这些凭据并将客户端返回一个 JSON Web 令牌,然后他们必须将其与每个 API 请求一起发送。所以 React 原生应用程序必须存储这个令牌。

如何将此客户端令牌安全地存储在 React 本机应用程序中?除了将令牌存储在变量中之外,是否需要采取任何其他步骤?

0 投票
0 回答
112 浏览

node.js - 节点js jsonwebtoken 叹息错误

我一直在尝试使用 promise 模式生成 jwt。但是我不断收到错误

{ [Error: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6InN0aW5neW1lbkBnbWFpbC5jb20iLCJpYXQiOjE0NTM3MzAzMzV9.sW5HWYivigBF4UKXdWjeuJLAG3kzytefNEx5lOt6jvY] cause: [Error: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6InN0aW5neW1lbkBnbWFpbC5jb20iLCJpYXQiOjE0NTM3MzAzMzV9.sW5HWYivigBF4UKXdWjeuJLAG3kzytefNEx5lOt6jvY], isOperational: true }

我用 rsa 格式生成 public.pem 并尝试了 algorithm: 'RS256' 但它也不起作用。

错误消息实际上包含我想要的 jwt..

登录.js

module.exports = 路由器;

请给我一些建议..

0 投票
2 回答
3413 浏览

sails.js - 如何在 Sails.js 中使用 jsonwebtoken 获取当前用户?

几周前我一直在使用 Sails,我来自 Rails,我没有任何使用 Node.js 的经验。

现在我正在尝试使用 jsonwebtoken 进行强大的令牌身份验证。 https://github.com/auth0/node-jsonwebtoken

我按照本指南http://thesabbir.com/how-to-use-json-web-token-authentication-with-sails-js/一切正常。我可以进行注册、登录,然后正确地使用令牌进行不同的操作。

现在,我想在某些操作中使用登录用户,例如设计current_user助手。例如,创建评论时,该评论应该属于当前用户。

使用 Sabbir Ahmed 指南,在 isAuthorized.js 策略的第 33 行中,令牌被解密,因此我可以从那里获取当前用户 ID。

所以,我的问题是,获取当前用户并稍后在某些控制器中使用它的最佳方法应该是什么?例如,我尝试了类似的东西:

但是,通过这种方式,因为这是一个异步操作,所以我不能在控制器中使用这个 currentUser。

我想存储当前用户,以便以后能够在某个控制器中使用它,而无需在每个控制器中重复相同的代码,比如帮助程序或服务。

0 投票
3 回答
24448 浏览

javascript - jsonwebtoken.sign() 失败并设置了 expiresIn 选项

我需要通过使用JWT签署用户 ID 来获取令牌:

WhereidprivateKey是字符串。

错误是Error: Uncaught error: "expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60。如果我完全删除选项对象,它可以工作,但没有我需要设置的选项。

这个问题似乎很简单,但我不知道如何解决它,我做错了什么?

0 投票
2 回答
1475 浏览

javascript - JWT 如何绕过某些 API 路由和 http 方法

我可以使用 .unless 让 JSON-Web-Token 忽略路径。

我有一条使用不同 HTTP 方法(get、put、post、delete)的路由。我希望 /events 的 GET 版本不需要令牌,但 /event 的 POST 版本需要令牌。我可以在没有 GET 和 POST 等不同路由的情况下执行此操作吗?

0 投票
2 回答
2736 浏览

node.js - 在 Angular2 中保护 API 密钥

我已经在谷歌上搜索了一天多。可能是我错过了正确的关键字。

我有以下设置:

  • ExpressJS API(在端口 3000 上使用 pm2 运行)
  • Angular2 应用程序 - 通过 nginx 提供服务

两者都在同一台服务器上运行。

对 api (mydomain/api/) 的调用被代理到127.0.0.1:3000

对于需要授权的 api 调用,我将使用 JWT 和用户身份验证。

我想要实现的是为我的 angular2 应用程序生成一个令牌,该令牌允许/需要进行公开调用(例如产品列表)。

当然,这个令牌需要安全转移,因为我不希望其他人通过直接 api 调用(使用被盗令牌)获得我的产品和价格。

任何帮助表示赞赏。