我们目前正在制作基于角度的应用。所有信息都来自api。
我们不希望在客户端使用cookie等存储任何状态。因此,当用户刷新应用程序时,我们计划调用/account/details
,如果登录将返回用户对象,false not not 。
问题是,我们使用的安全模型是我们设置auth-token
(从上面的/account/details
或成功的/login
调用中作为用户对象的一部分返回),即在任何api请求的标题中发送。
api检查标头中发送的auth-token
是否匹配logged-in-users
表中的内容,如果匹配则发回数据。
显然,问题是,在刷新时我们没有保存任何客户端,所以不要让这个auth-token
再发送。
api,因为它在同一个域上设置了一个php会话cookie。我们认为,对于此account/details
调用仅,我们可以将会话Cookie值与logged-in-users
表进行匹配。然而,这对我们来说听起来很狡猾。这样可以吗?或者还有另一种更简单的方法可以克服鸡肉和鸡蛋的情况吗?
答案 0 :(得分:2)
您可以考虑让应用程序使用sessionStorage
来存储身份验证令牌。这具有您正在寻找的cookie的优点,但是由JavaScript维护,不会自动发送到服务器。