我是Web服务器开发的新手。我正在开发一个NodeJS Web服务器,它同时服务于web(AngularJS / ReactJS)和本机移动应用程序(Android)。我的项目中有一个特定于用户的功能。
我很困惑,花了几个小时搜索与csrf和身份验证相关的安全问题。
我的问题是
1)我应该使用哪种方法来解决Web和移动应用程序中的csrf和身份验证问题? - 它是快捷JS中的JWT(JSON Web令牌)还是CSURF中间件。
请详细说明。
如果还有其他方法,请提及。
提前致谢。
JWT应该用于身份验证以及csrf保护。您可以使用jwt存储csrf令牌。将JWT存储在安全的仅限http的cookie中,并将csrf令牌存储在会话存储中。然后验证jwt中的令牌是否与请求一起发送的csrf令牌匹配。此外,您可以使用JWT在以后阶段进行授权。
您还可以查看使用jwt进行反csrf保护的jwt-csrf。它用于反csrf令牌的默认方法是双提交,但它也支持其他方法。