Tengo un angular de la aplicación que necesitaba para redirigir fuera a un no angular de la página html, por lo que pensé que podría utilizar el $window.location.hrefpara redirigir el angular de la aplicación a mi sitio externo. Esto realmente funciona bien, sin embargo, tengo un nodejs/express backend de que los controles de auth token antes de servir cualquier contenido(incluso el contenido estático).

Esto requiere un auth token para ser enviados en la cabecera de la petición http. Ahora la pregunta:

Puede/¿Cómo agregar un auth token a la petición que sea realizada por el cambio de la $window.location.href antes de que sea expulsado?

InformationsquelleAutor britztopher | 2014-06-09

2 Comentarios

  1. 28

    Cuando se utiliza $window.location.href el navegador está haciendo la solicitud HTTP y no el código JavaScript. Por lo tanto, usted puede agregar un encabezado personalizado como Authorization con el valor del token.

    Podría agregar una cookie a través de JavaScript y poner su auth token de allí. Las cookies se envían automáticamente desde el navegador. Sin embargo, usted querrá revisar las implicaciones de seguridad de uso de una cookie frente a un encabezado. Ya que ambos son accesibles a través de JavaScript, no es vector de ataque allí. A menos que se elimine la cookie después de que se carga la nueva página, puede ser un CSRF explotar disponible.

    • gran respuesta, me pregunto si angular-cookies de trabajo para esto. De todos modos gracias por la dirección correcta.
  2. 2

    Estoy usando JWT como la autenticación en un Laravel PHP backend, y funciona colocando ?token=... en la URL. Por ejemplo, cuando el uso de AngularJS con satellizer plug-in, puedo añadir ?token=' + $auth.getToken() a la dirección URL.

    Yo uso es estrictamente para las llamadas a la API, el uso de SSL. Ser consciente de que esto podría no ser una forma segura de autenticación en su caso de uso.

    • bien incrustación de token como parámetro de URL que es la última cosa que me gustaría hacer.
    • Podría ser un poco feo, pero funciona!
    • Incluso en SSL un sniffer puede leer la URL de la petición, de modo que es la PEOR manera de pasar un token de solicitud. Si usted está usando SSL debe poner el token en las cabeceras o en el cuerpo.
    • «en SSL un sniffer puede leer la dirección URL de la solicitud» Esto no es cierto, sólo el nombre de host/ip puede ser detectado, no la url.
    • Dos vulnerabilidades de hacer esto son: (1) El token en los registros de IIS (2) de la Unidad por la piratería, por ejemplo si alguien ve en su navegador la dirección url o la coge de su navegador de la historia mientras usted hace una taza de café

Dejar respuesta

Please enter your comment!
Please enter your name here