JSON Web令牌(JWT)安全性

时间:2016-03-31 17:58:44

标签: node.js express jwt

我正在使用Node.js,MySQL和JSON Web Tokens来构建api。

我的JWT看起来像这样:

echo '<a "data-toggle=\'modal\'", "data-target=\'#uoc-modal\'" href="\' . get_the_permalink() . \'">';

及其声明解码为:

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJsb2dnZWRfaW4iLCJhZG1pbiJdLCJpZCI6NzEsImlhdCI6MTQ1OTQ0NjU5MCwiZXhwIjoxNDU5NTMyOTkwfQ.BBbdyFMztYkXlhcBjW6D5SsKxtaRiZJqiNShOroQmhk

当api端点收到JWT时,调用带有id 71的User表来获取任何相关细节或使用JWT中的id是否更安全?

理想情况下,我们会将大量调用保存到User表中,但是存在安全威胁吗?恶意用户在调用端点之前是否无法更改该ID或角色?

1 个答案:

答案 0 :(得分:4)

JWT已签署。如果用户更改了有效负载上的任何内容,则签名验证将失败,您将知道数据已被篡改。

话虽如此,数据本身并未加密。您可以使用用户ID - 但除了可以公开的内容之外,不要添加敏感信息。

有关JWT验证和生命周期的更多信息:

https://github.com/auth0/node-jsonwebtoken#jwtverifytoken-secretorpublickey-options-callback