我正在开发一个基于AngularJS的应用程序,它将与一个RESTful服务进行交互。从服务验证后返回一个令牌。我需要在每个请求中存储令牌和拦截。我想了解哪个更好地存储令牌,rootScope或sessionStorage?
答案 0 :(得分:0)
$ rootScope和会话存储设计用于两个不同的角色。 $ rootScope只是一个JavaScript变量,可以在应用程序范围内访问值。会话存储是一种Web浏览器功能,允许您将数据保留在页面刷新之外,或者以其他方式维护会话。在$ rootScope上存储值只不过是在JavaScript变量中存储一个值;如果刷新页面,则值消失。您想要的是会话存储或cookie,以便您的令牌在页面刷新之后保持不变。
答案 1 :(得分:0)
$ rootScope是一个将在页面刷新时消失的变量。因此,我建议你使用cookie或sessionStorage。
当用户关闭他/她的浏览器标签时,SessionStorage将消失。如果这不是首选案例,那么使用cookie。
要为$ http请求添加默认标头身份验证器,请使用拦截器,您可以在此处找到文档:
拦截器的代码如下所示:
bind '"rr":reverse-search-history'
另请查看angular $ cookie服务的文档: