JWT和类似方法的安全性如何?

时间:2014-08-27 16:28:17

标签: node.js angularjs security jwt

我一直在阅读关于JWTCSRF token的内容,据我所知,他们是一回事(如果我错了,请纠正我)。但我有些疑惑。所以我的问题是:

  1. JWT真的安全吗?
  2. 因为令牌存在于客户端。我的Signed key可以解码吗?
  3. 有没有其他方法可以验证用户而不保存服务器上的当前会话数据? (你能添加链接吗?)
  4. 验证用户安全的方式我是JWT的方式吗?或者有更好的方法吗?
  5. 如果有帮助,我会使用Node.js和AngularJs建立一个社交网站。

1 个答案:

答案 0 :(得分:1)

您对JWT和CSRF令牌有误。

JWT是您签署或加密(或两者)的一组声明。这与签名或加密的邮件相同。

CSRF令牌通常是任意字符串,以防止来自恶意脚本的请求。这些字符串未加密或签名。

  1. JWE(加密)和JWS(签名)使用JWA定义的算法。所有这些算法(Elliptic Curves,RSA ......)足够强大,可以确保JWT的输入。

  2. 当你写Signed key时,我想你正在谈论你的公钥。这与您提供公共证书或使用S / MIME签署电子邮件时完全相同。

  3. JWT的目的不是存储会话数据,而是存储已签名或加密(或两者兼有)的声明。

  4. JWS通常用于验证用户身份。例如,OpenID Connect使用JWT over OAuth2。