我有一个架构问题,我需要一些建议。
我目前有一个用Ionic2
编写的客户计划部署到iOS
,Android
和Web Browser
。
我在AWS上运行Tomcat服务器,Java8/Spring RESTful Web Services
与MYSQL
数据库通信。
我也在使用Firebase Authentication
。如果用户未登录,则用户可以访问该应用,并且一旦登录,即可访问更多功能。
因此,用户数据存储在Firebase
中,其中uid
为关键字。相应的用户数据也存储在MYSQL
数据库中。
我还计划添加PayPal
付款网关。
问题
我不是安全架构方面的专家。所以我的问题是,我应该考虑哪些安全因素?
我认为支付网关是安全的,因为我将与PayPal
api进行交互。
其次,目前Ionic2
应用通过Java RESTful Services
与HTTP
进行通信。我应该保护这些请求/响应呼叫吗?
关于RESTful Service
来电,我只会在一次通话中传输敏感信息,所以我想保证这一点。否则没有敏感信息,但我不希望该应用受到任何恶意行为的影响。
正如您所看到的,这是一个非常开放的问题,但我正在寻找有关正确的架构路径的指导。
任何建议表示赞赏。
答案 0 :(得分:2)
关于安全性考虑,OWASP(开放式Web应用程序安全项目)为REST服务here提供了一个非常好的方向。第一次看起来似乎势不可挡,但取决于API中信息的敏感性以及如果有人利用API中的漏洞会对您产生影响,您需要多大程度地实现它们。
但是,我建议您为所有API使用HTTPS而不是HTTP。
答案 1 :(得分:1)
如果它是基于Spring的应用程序,那么我建议去Spring JWT(Json Web Token)。