Cómo asegurar mi API para uso de desarrolladores de sitios web y aplicaciones de terceros

Los usos de la API no deben limitarse a la autenticación de inicio de sesión del usuario. Pero también, las ID de máquinas deben complementar las verificaciones de autenticación cuando corresponda. Cada llamada a la API también debe verificarse para garantizar que el usuario o dispositivo tenga los permisos correctos para ver, editar o eliminar los datos solicitados.

Las rutinas de validación de datos para evitar fallas de inyección estándar y ataques de falsificación de solicitudes entre sitios también son vitales, ya que las llamadas a las API pueden provenir de fuentes no confiables. Además, las pruebas deben realizarse desde todo tipo de puntos finales, no solo desde un navegador web. Muchas API no pueden implementar SSL cuando se accede a través de una aplicación que no es de navegador, como una aplicación móvil, así que asegúrese de verificar que los datos confidenciales siempre permanecen cifrados cuando no se requieren en texto sin formato. Las pruebas de penetración y las evaluaciones de vulnerabilidad también deberían centrarse en las API, ya que son puntos de entrada a la aplicación.

Cortesía: techtarget.com

1. Cree una clave de API privada. (una cadena aleatoria de cierta longitud)
2. Comparta la clave privada con los desarrolladores.
3. Al llamar a la API desde el exterior, pídales que pasen el md5 de (url + parámetros + clave de API) en lugar de la clave de API junto con la URL y los parámetros.
4. Cuando la solicitud llegue a su servidor, valídela, generando el md5 nuevamente al final y comparándolo con el md5 entrante.
5. Si ambos valores md5 son iguales, entonces es una solicitud válida, de lo contrario no lo será.

PD: crea una clave separada para diferentes desarrolladores.