Edd*_*Edd 7 cookies session angularjs
我有这个用AngularJs编写的Web应用程序,它使用cookie来验证REST API中的请求.
用户登录后,cookie将被接收并保存在浏览器中,所有后续请求都会将cookie发送到服务器.有一个'User'服务/对象可以保存isLoggedIn和用户名值(用于UI显示/流程).现在,如果我刷新"索引"页面,应用程序将重新启动.这意味着我的"用户"对象将被清除.我可以检查cookie的存在,如果存在,我可以将User.isLoggeIn重新设置为true并从那里开始,但我仍然需要获取用户名,id等.所以,我的问题是:应该我在API中创建了某种"ping"端点来验证cookie是否有效?如果是这样,API会将用户ID和用户名发回给我... 或者我应该将用户数据保存在LocalStorage(或某些类似的跨浏览器的东西)中,并假设如果cookie存在则记录用户?将自动验证对需要身份验证的页面的任何其他后续请求.所以,这个问题实际上只适用于用户刷新索引页面的场景 - 因此,重新启动Web应用程序.我想知道用户数据,因为我想显示"用户主页"而不是"公共主页".
你怎么看?
Cha*_*ani 10
您应该依赖服务器.GetCurrentUser在服务器上创建类似方法的东西.如果用户已登录,则返回用户的所有属性.
您甚至应该使用此服务器api在身份验证完成后获取用户数据.因此,身份验证成为首先对用户进行身份验证的两步流程,成功后,将再次调用服务器以获取当前用户的详细信息.
使用客户端本地存储器并不理想,因为在注销或会话到期时清理登录用户需要进行大量的簿记.
来自服务器的cookie也将具有到期的所有权限,并且仅基于存在于本地存储上的cookie做出决定可能不是最佳方法.
| 归档时间: |
|
| 查看次数: |
3827 次 |
| 最近记录: |