我正在构建一个卡夹应用程序,其中UI在Angular 4中,而Backend在Spring Rest Service中。 现在,有一个登录屏幕,因此一旦用户登录,他就可以看到另一个屏幕,例如交易记录,货币列表,货币汇率等。
现在,我面临的挑战是: (1)如何加密用户名和密码以防止其被黑客入侵。 (2)如何维护用户会话,因为我在Angular中具有UI,在Spring Rest(Java)中具有后端
请帮助
答案 0 :(得分:1)
基于定义,REST api是无状态的,因此没有会话或存储值。您需要输入类似jwt token
,
1-用户登录时,在登录请求中,您将用户名和密码发送给beckend
2-后端对用户进行身份验证并生成jwt令牌并将其发送到前端
3-您将此令牌保留在内存中(在角度服务或ngrx存储中)
4-在对服务器的其他请求上,在标头中添加令牌
5-后端接收令牌,对其进行反序列化,并知道哪个用户正在调用api
您的后端还可以检查是否不存在auth令牌,返回401,然后在您的前端中,如果您收到401重定向到登录页面,其余与上面相同