在Angular app中将http标头添加到window.location.href

bri*_*her 25 http window.location http-headers oauth-2.0 angularjs

我有一个角度应用程序,我需要将其重定向到一个非角度的html页面,所以我想我可以使用$window.location.href将角度应用程序重定向到我的外部网站.这实际上工作正常,但是,我有一个nodejs/express后端,在提供任何内容(甚至静态内容)之前检查身份验证令牌.

这需要在http请求的标头中发送身份验证令牌.现在的问题是:

可以/如何通过更改$window.location.href发送之前的请求添加身份验证令牌?

Kev*_*son 29

当您使用$window.location.href浏览器时,正在发出HTTP请求,而不是您的JavaScript代码.因此,您无法像Authorization使用令牌值一样添加自定义标头.

您可以通过JavaScript添加cookie并将您的身份验证令牌放在那里.Cookie将自动从浏览器发送.但是,您需要查看使用cookie与标头的安全隐患.由于两者都可以通过JavaScript访问,因此没有额外的攻击向量.除非您在加载新页面后删除cookie,否则可能存在CSRF漏洞利用.