Tengo un front-end Angular JS que consume servicios web de una API desarrollada con Laravel 5.
INFORMACIÓN DE ANTECEDENTES 1
Cuando el usuario inicia sesión, si tiene éxito, la API devuelve un token y el token es así:
$token = base64_encode("mail=" . $mail);
return Response::json(["token" => $token, 'error' => null]);
Luego tengo una función en un servicio angular que sabe cómo trabajar con el token.
INFORMACIÓN DE ANTECEDENTES 2
Cada vez que un usuario necesita obtener datos, la API toma el correo que se envía a la solicitud como una de las solicitudes de encabezados. En Laravel, tengo un Middleware que toma ese token y hago las siguientes validaciones:
- El token está dentro de los encabezados (en el encabezado de autorización)
- El token es un token válido
- El correo electrónico recuperado por el token existe en la base de datos
Si falla alguna de estas validaciones, la API envía una solicitud incorrecta 422 con algún error.
PREGUNTA
Mi verdadera preocupación acerca de esto es, ¿es posible que alguien piratee mi sitio web? ¿Es posible que alguien (conociendo el correo electrónico de otra persona en el sitio web) cambie el encabezado de autorización que contiene el correo electrónico?
NOTA
En teoría, el usuario obtiene un token si tuvo un inicio de sesión exitoso, si no lo hizo, no lo obtendrán.