我是Web服务器开发的新手。我正在开发一个NodeJS Web服务器,该服务器同时提供Web(AngularJS / ReactJS)和本机移动应用程序(Android)。 我的项目中有一个特定于用户的功能。
我很困惑,花了几个小时来寻找与csrf和身份验证有关的安全性问题。
我的问题是
1)我应该使用哪种方法同时解决 Web和移动应用程序中的 csrf和身份验证问题? -是Express JS中的 JWT(JSON网络令牌)或 CSURF 中间件。
请详细解释。
如果还有其他方法,请提及。
谢谢。
答案 0 :(得分:0)
JWT应该用于身份验证和csrf保护。您可以使用jwt存储csrf令牌。将JWT存储在仅HTTP的安全cookie中,并将csrf令牌存储在会话存储中。然后,验证jwt中的令牌与请求一起发送的csrf令牌是否匹配。另外,您可以在以后的阶段使用JWT进行授权。
您还可以查看使用jwt进行反csrf保护的jwt-csrf。它用于反csrf令牌的默认方法是double Submit,但它也支持其他方法。