我必须为一个学校项目构建一个应用程序,其前端是React Native(移动应用程序Android和iOS),后面是Java / Spring。该应用程序几乎完成了设计和请求/响应,但没有安全性!好吧,只有密码加密...所以我需要添加一些安全性。
问题是,就目前而言,当用户登录时,我会在成功时将其ID存储在移动应用程序存储中。并且通过GET / POST在服务器上的每个请求上,即使用户没有被记录,服务器也会向他发送响应。我怎样才能以最简单的方式解决这个问题?有一个spring-security的会话,但我读到,因为移动设备不像浏览器,它不会存储cookie。我虽然生成一个令牌(但我不知道该怎么做)并在@Response中给出。每当用户想要访问资源(即在应用程序中旅行)时,它就会发送令牌。但我认为这有点复杂。该应用程序是无状态的,只有登录和每个人都可以访问注册,所有其他视图都需要您进行记录。
感谢您的建议!
答案 0 :(得分:0)
根据您的要求,我会建议您在我的react-native应用程序中为维护会话所做的事情和我的后端是nodejs,我使用JWT来维护后端的会话。
在我的应用程序中,我只能访问两个没有accessstoken的视图,即登录视图和注册,所以,每当您从登录屏幕发布带有凭据的请求时,请使用react-native store(第三方lib)存储accessstoken,email等。本地。登录后,您已经保存了accessstoken,您可以在任何地方使用它。
关闭应用并重新输入应用后,请检查一下,如果您的商店的accessstoken键不为空,则直接打开登录后出现的主页,这样用户就没有了每次应用重新打开时都要登录。
如果用户单击“注销”按钮,则将其重定向到登录并从商店中删除accessstoken。
干杯:)