Tenemos api.example.com que se comunica con app.example.com, una aplicación nativa de Android y una aplicación de iOS. Queremos permitir que otros terceros también se comuniquen con la API si así lo desean, y como tal tenemos un conjunto de encabezados Access-Control-Allow-Origin: *
.
Tenemos algunas rutas API que no requieren autenticación previa, como /reset-password
y /login
.
Todas las demás rutas API requieren un token de autenticación agregado, por ejemplo, /important-action?authtoken=abc123
. No acepta cookies en los encabezados o el cuerpo de las solicitudes. app.example.com guarda el token de autenticación en una cookie para preservar la sesión.
Lo que me cuesta entender es cómo evil.com puede explotar esta configuración. ¿Alguien puede dar algunos ejemplos de cómo podría funcionar un ataque o dejar de preocuparme y avisarme que CSRF no es un riesgo aplicable?
He leído otras respuestas que se refieren al "uso de cookies" pero no aclaran qué significa exactamente "usar". En nuestro caso, almacenamos el identificador en una cookie y lo agregamos a la URL de solicitud. La API ignora las cookies enviadas en el encabezado de la solicitud.