解决NodeJS服务器中CSRF和身份验证问题的最佳方法

时间:2019-03-19 09:36:04

标签: android node.js web jwt csrf

我是Web服务器开发的新手。我正在开发一个NodeJS Web服务器,该服务器同时提供Web(AngularJS / ReactJS)和本机移动应用程序(Android)。 我的项目中有一个特定于用户的功能。

我很困惑,花了几个小时来寻找与csrf和身份验证有关的安全性问题。

我的问题是

1)我应该使用哪种方法同时解决 Web和移动应用程序中的 csrf和身份验证问题? -是Express JS中的 JWT(JSON网络令牌) CSURF 中间件。

请详细解释。

如果还有其他方法,请提及。

谢谢。

1 个答案:

答案 0 :(得分:0)

JWT应该用于身份验证和csrf保护。您可以使用jwt存储csrf令牌。将JWT存储在仅HTTP的安全cookie中,并将csrf令牌存储在会话存储中。然后,验证jwt中的令牌与请求一起发送的csrf令牌是否匹配。另外,您可以在以后的阶段使用JWT进行授权。

您还可以查看使用jwt进行反csrf保护的jwt-csrf。它用于反csrf令牌的默认方法是double Submit,但它也支持其他方法。

https://www.npmjs.com/package/jwt-csrf