Estoy revisando la documentación de la API de un posible proveedor.
Para obtener acceso a las partes útiles de la API, debemos enviar una solicitud GET o POST a un punto final específico que pasa dos parámetros: el nombre de nuestra organización y el "hash de clave pública". Este punto final devolverá un token que usaremos durante el resto de nuestra sesión.
La descripción del "hash de clave pública" es que tomamos una clave pública (suministrada de antemano por el proveedor), agregamos la fecha UTC actual y luego realizamos un hash MD5 del resultado. Su ejemplo es:
Public Key: a8db14aef3810a92e7c9af9f8782e1f0
Current UTC Date: 2013-02-28
Result string: a8db14aef3810a92e7c9af9f8782e1f02013-02-28
MD5 hash: efdb500ca0a4e107aea100554456ea85
No he encontrado un mecanismo de autenticación como este antes. Me siento "enrollado a mano", y el uso de MD5 también está haciendo que los pelos de mi nariz se contraigan. ¿Realmente quiero escribir un nuevo código en 2017 que use MD5?
Pero antes de realmente profundizar en las cosas, ¿es esto realmente un mecanismo de autenticación muy conocido y usado en el que no he podido encontrar documentación? Si es así, ¿todavía se considera seguro?
(La búsqueda en el valor de la clave API en el ejemplo no produce resultados, por lo que al menos han dado como resultado un ejemplo único por alguna razón. La búsqueda en API authentication md5
tampoco encontró resultados prometedores)