Nos últimos anos, a tendência para aplicativos do lado do cliente (navegador) decolou realmente.
Para o meu projeto mais recente, decidi tentar avançar com os tempos e escrever um aplicativo do lado do cliente.
Parte desse aplicativo envolve o envio de emails de transação para os usuários (por exemplo, validar inscrição, emails de redefinição de senha, etc.). Estou usando uma API de terceiros para enviar os e-mails.
Normalmente, meu aplicativo seria executado em um servidor. Eu chamaria a API de terceiros do código no meu servidor.
A execução de um aplicativo do lado do cliente significa que agora isso precisa acontecer no navegador do usuário. A API de terceiros fornece os arquivos JavaScript necessários para isso.
O primeiro problema gritante que vejo é que preciso usar uma chave de API. Normalmente, isso seria armazenado com segurança no meu servidor, mas agora presumivelmente eu precisarei fornecer essa chave ao navegador do cliente.
Supondo que eu possa contornar esse problema, o próximo problema é o que impede um usuário com experiência em tecnologia de carregar a ferramenta de desenvolvedores JavaScript em um navegador e usar a API de e-mail da maneira que preferir, em vez de dizer que cumpre as regras que defini no aplicativo .
Acho que minha pergunta geral é: como podemos evitar o uso mal-intencionado de um aplicativo do lado do cliente?