authentication - template - Backbone.js y autenticación de usuario
backbonejs github (1)
Respuesta corta: cablee $ .ajax para responder a los códigos de estado 401 (no autorizados).
Respuesta larga: estamos consumiendo una API REST desde un sitio web de una sola página. cuando el servidor detecta una solicitud no autorizada, simplemente devuelve un 401. El cliente se redirigirá a / login? # requested / resource.
/login
solicitará autorización (redirigir al servidor de juramentos de google en nuestro caso) luego agregará una cookie de autorización y redireccionará a la solicitud #requested/resource
originalmente #requested/resource
también estamos enviando la cookie de autenticación en cada solicitud $ .ajax.
Espero que esto sea útil.
define(
[
''jquery'',
''jquery.cookie''
],
function ($) {
var redirectToLogin = function () {
var locationhref = "/login";
if (location.hash && location.hash.length > 0) {
locationhref += "?hash=" + location.hash.substring(1);
}
location.href = locationhref;
};
var $doc = $(document);
$doc.ajaxSend(function (event, xhr) {
var authToken = $.cookie(''access_token'');
if (authToken) {
xhr.setRequestHeader("Authorization", "Bearer " + authToken);
}
});
$doc.ajaxError(function (event, xhr) {
if (xhr.status == 401)
redirectToLogin();
});
});
Me he estado preguntando durante un buen rato cómo haría para autenticar a los usuarios que usan Backbone porque he estado leyendo algunos artículos al respecto y muchos hablan de tokens y claves. Pero solo quiero poder iniciar sesión. un usuario y registrar un usuario como lo haría normalmente.
Estaba pensando que en la aplicación web se iniciaría una solicitud a la ruta ''/ me'' y luego el servidor le da al usuario la información adecuada si él / ella está conectado.
Por {loggedIn: false}
si la ruta regresó con {loggedIn: false}
el enrutador de red troncal solo enviaría al usuario a las páginas de inicio de sesión / registro. Pero si regresara con información de perfil de un usuario, obviamente significaría que tuvo una sesión.
¿Es esta una buena forma de volver atrás la autenticación del usuario cuando se usa Backbone?