将auth令牌添加到默认标头与使用$ http拦截器

时间:2015-11-25 16:27:26

标签: angularjs authentication token jwt

我一直在深入研究Angular和Express之间的身份验证,并决定使用带有JWT的令牌身份验证和npm jsonwebtoken包。我已经在服务器端设置了一切,并在客户端接收令牌,但现在我需要知道如何让它在每次请求时发送令牌。

根据我的发现,大多数资源都说使用$ http拦截器来转换每个传出请求。但是工作中的人总是在$httpProvider.headers.defaults.common["Auth"] = token块中使用.config,这对我来说似乎更直截了当。 Here's a blog explaining how to do it both ways

但是this stackoverflow post上接受的答案说使用拦截器会更好,但他没有给出理由。

任何见解都会有所帮助。

1 个答案:

答案 0 :(得分:0)

经过一番研究和a conversation on Reddit之后,似乎最好的方法就是通过拦截器。在.config.run块中进行设置可能有助于检查用户在首次加载应用程序时是否已经过身份验证(如果本地存储中有令牌),但不会可以在加载应用程序后处理动态更改,例如注销或登录。我很确定你可以通过$ http默认标题来实现,但也可以在一个地方进行。

希望这有助于将来的某个人!