component - https docs angularjs org/>
Agregar encabezados http a window.location.href en la aplicaciĆ³n Angular (2)
Cuando usa $window.location.href
el navegador realiza la solicitud HTTP y no su código JavaScript. Por lo tanto, no puede agregar un encabezado personalizado como Authorization
con su valor de token.
Puedes agregar una cookie a través de JavaScript y poner tu token de autenticación allí. Las cookies serán enviadas automáticamente desde el navegador. Sin embargo, querrá revisar las implicaciones de seguridad de usar una cookie frente a un encabezado. Dado que ambos son accesibles a través de JavaScript, no hay un vector de ataque adicional allí. A menos que elimine la cookie después de que se cargue la nueva página, es posible que haya un exploit CSRF disponible.
Tengo una aplicación angular que necesitaba para redireccionar afuera a una página html no angular, así que pensé que solo podía usar $window.location.href
para redirigir la aplicación angular a mi sitio externo. Esto realmente funciona bien, sin embargo, tengo un nodo / backend express que comprueba el token de autenticación antes de entregar cualquier contenido (incluso contenido estático).
Esto requiere que se envíe un token de autenticación en el encabezado de la solicitud http. Ahora la pregunta:
¿Puede / cómo agregar un token de autenticación a la solicitud que se realiza al cambiar $window.location.href
antes de que se envíe?
Estoy usando JWT como autenticación en un backend PHP de Laravel, y funciona al poner ?token=...
en la URL. Por ejemplo, cuando uso AngularJS con el complemento satelizador, agrego ?token='' + $auth.getToken()
a la URL.
Lo uso estrictamente para llamadas a API, usando SSL. Tenga en cuenta que esta podría no ser una forma segura de autenticación en su caso de uso.