En los últimos años, la tendencia de las aplicaciones del lado del cliente (navegador) realmente ha despegado.
Para mi último proyecto, he decidido intentar avanzar con los tiempos y escribir una aplicación del lado del cliente.
Parte de esta aplicación implica enviar correos electrónicos de transacciones a los usuarios (por ejemplo, validar el registro, correos electrónicos de restablecimiento de contraseña, etc.). Estoy usando una API de terceros para enviar los correos electrónicos.
Normalmente tendría mi aplicación ejecutándose en un servidor. Llamaría a la API de terceros desde el código de mi servidor.
Ejecutar una aplicación del lado del cliente significa que ahora esto debe suceder en el navegador de un usuario. La API de terceros proporciona los archivos JavaScript necesarios para lograr esto.
El primer problema evidente que puedo ver es que necesito usar una clave API. Esto normalmente se almacenaría de forma segura en mi servidor, pero ahora presumiblemente tendré que proporcionar esta clave al navegador del cliente.
Suponiendo que pueda solucionar este problema, el siguiente problema es lo que impide que un usuario experto en tecnología cargue la herramienta de desarrolladores de JavaScript en un navegador y use la API de correo electrónico de la forma que desee, en lugar de decir que se adhiera a las reglas que he establecido en la aplicación .
Supongo que mi pregunta general es: ¿cómo podemos evitar el uso malicioso de una aplicación del lado del cliente?