我一直在阅读关于JWT
和CSRF token
的内容,据我所知,他们是一回事(如果我错了,请纠正我)。但我有些疑惑。所以我的问题是:
JWT
真的安全吗?Signed key
可以解码吗?JWT
的方式吗?或者有更好的方法吗?如果有帮助,我会使用Node.js和AngularJs建立一个社交网站。
答案 0 :(得分:1)
您对JWT和CSRF令牌有误。
JWT是您签署或加密(或两者)的一组声明。这与签名或加密的邮件相同。
CSRF令牌通常是任意字符串,以防止来自恶意脚本的请求。这些字符串未加密或签名。
JWE(加密)和JWS(签名)使用JWA定义的算法。所有这些算法(Elliptic Curves,RSA ......)足够强大,可以确保JWT的输入。
当你写Signed key
时,我想你正在谈论你的公钥。这与您提供公共证书或使用S / MIME签署电子邮件时完全相同。
JWT的目的不是存储会话数据,而是存储已签名或加密(或两者兼有)的声明。
JWS通常用于验证用户身份。例如,OpenID Connect使用JWT over OAuth2。