Tengo una API REST para ejecutar algunos cálculos y devolver el resultado, con un sistema de token muy simple donde solo los usuarios autorizados pueden usar la API.
El usuario agrega su token a la consulta de esta manera:
{
authorization: 'my token',
moreData: 51351,
etc: 'etc'
}
Debido a que los usuarios de esta API generalmente no son programadores, he creado una página web muy simple que muestra la API, con una demostración en vivo que se puede ejecutar directamente desde la página web, demostrando cómo funciona y qué se devuelve.
Esta demostración tiene un token de autorización falso, que se muestra en la consulta de ejemplo. He creado una función de JavaScript simple, oculta y parcialmente ofuscada que intercepta este token falso y lo reemplaza por un token real antes de enviar la solicitud, que probablemente engañará a la mayoría de los usuarios. Pero un usuario que realmente vea la solicitud desde la herramienta de depuración en el navegador verá fácilmente el token real que se envía, y puede usar este token para enviar su propia solicitud.
Por supuesto, podría limitar el token de demostración, pero eso significaría que los usuarios que están experimentando con la demostración en vivo podrían experimentar bloqueos temporales, que me gustaría evitar.
¿Hay alguna forma de proteger el token de autorización de demostración de una API que debe ser fácil de usar y necesita una demostración en vivo?