Se stai esponendo il tuo servizio web agli sviluppatori di applicazioni di terze parti, posso pensare a due scenari in cui un'API critica può essere chiamata senza il consenso dell'utente (date le tue linee guida sull'interfaccia utente):
- Un bug nel codice
- Sviluppatore di terze parti malintenzionato, utilizzando in modo errato l'API
Contro l'utilizzo non sindacato, quello che posso suggerire è fornire ai tuoi sviluppatori di terze parti le chiavi API , che sarà necessario per emettere la chiamata API critica.
In questo modo, puoi proteggere la tua applicazione dall'uso illecito dell'API, nonché tracciare quali terze parti hanno effettuato la chiamata, per essere in grado di rintracciare comportamenti sospetti.
Per quanto riguarda i bug nel codice, sono più complicati, dal momento che non esiste un modo programmatico per prevenirli. Una possibile soluzione potrebbe essere quella di avere una conferma in due fasi (cioè inviare una mail all'utente, con un link di conferma, che deve fare clic per completare la transazione), o (forse più user-friendly, ma potrebbe non essere possibile , a seconda del servizio) una mail con un link annulla transazione , per evitare transazioni accidentali dopo il fatto.