Mi servicio web es una aplicación de página única basada en API. Una vez que el usuario inicia sesión, se les otorga un token temporal para usar durante el resto de la sesión que se envía junto con cada solicitud de API. Por supuesto, el token está vinculado a la dirección IP que realizó la solicitud de inicio de sesión. Esto significa que incluso si una tercera parte lograba capturar un token a pesar de TLS, probablemente no podrían usarlo y nadie podría utilizarlo después de que la sesión actual terminara.
Pero recientemente me encontré con un usuario cuya dirección IP cambia con una frecuencia extrema (con una frecuencia cada 30 minutos), lo que hace que tengan que volver a iniciar sesión mientras usan el servicio. El cambio de dirección se debe a la red de habitaciones compartidas en el campus que recicla un conjunto muy limitado de direcciones IP que el usuario final, por supuesto, no tiene control.
¿Cómo puedo reconciliar el mantenimiento de la seguridad de mi configuración actual, y al mismo tiempo no causarles problemas a los usuarios en esta situación? Lo mejor que tengo hasta ahora es aflojar el requisito de IP para que coincida solo con el primer octeto de la dirección, pero eso dista mucho de ser lo ideal.