Nota: la pregunta original se hizo en enlace pero aquí parece ser el lugar correcto para ello.
La empresa para la que trabajo actualmente tiene una aplicación interna, proporciona algunas API RESTful (más o menos, solo una colección de URL). Para acceder a las API fuera de la red de la empresa se requeriría una conexión HTTPS y un token (si se accede dentro de la red de la empresa, no se aplica ninguna restricción).
Para llamar a una API, la persona que llama (otra aplicación interna o empleado) deberá crear un token con algo como esto:
- Ordenar los parámetros de URL
- Hash parte de la URL ordenada con una sal (constante global)
- Utilice una subcadena del hash como token
- Agregue ese token como parámetro en la URL y envíe la solicitud
El servidor realizará el mismo algoritmo en la URL original, si el token sale igual, la solicitud se considera autenticada.
No soy un experto en seguridad, pero esto me parece mal, pero no puedo explicar por qué. Así que estoy pidiendo ayuda a los expertos en seguridad, ¿cuáles son los problemas que ve aquí? ¿O estoy siendo demasiado paranoico?
Gracias.