我正在使用基于令牌的身份验证的AngularJS,并希望通过将标记附加到标头请求来了解对用户维持持久“会话”的最佳做法的意见。让我来描述一下我遇到的问题:
这就是现在的设置,但略有简化:
我想知道的是如何避免在步骤4中注销用户的瞬间闪现。使用基于cookie的身份验证这是可能的,因为cookie会自动附加到每个请求,因此我的后端可以在cookie返回之前反序列化响应中呈现的模板,并在脚本标记内以json格式将用户对象附加到该呈现的模板,然后该角度可以在初始化时访问和加载,从而没有延迟。
令牌的问题是,虽然它存在于客户端的localStorage上,但在刷新页面时它不会自动附加到请求。仅当用户在角度初始化之后发出http请求时它才被附加,并且它已经附加了它的httpInterceptor,它附加了包含令牌的额外头部字段。
因此,可以始终自动将存储在localStorage中的令牌附加到每个请求的标头,或者是我当前的方法。我想我可以将令牌存储在cookie中,但这确实会破坏基于令牌的身份验证的目的。
我接近这个错误吗?