Come faccio a essere sicuro che la mia API REST risponda solo alle richieste generate dai client fidati, nel mio caso le mie applicazioni mobili? Voglio evitare richieste indesiderate provenienti da altre fonti. Non voglio che gli utenti riempiano un codice seriale o altro, dovrebbe accadere dietro le quinte, al momento dell'installazione e senza l'intervento dell'utente richiesto.
Per quanto ne so, HTTPS è solo per convalidare il server con cui stai comunicando è chi dice di essere. Ho intenzione di utilizzare HTTPS per crittografare i dati.
C'è un modo per farlo?
Aggiornamento: L'utente può eseguire azioni di sola lettura, che non richiedono l'accesso dell'utente, ma possono anche eseguire azioni di scrittura, che richiedono l'accesso dell'utente (token di autenticazione con accesso). In entrambi i casi voglio che l'API risponda alle richieste provenienti solo da applicazioni mobili attendibili.
L'API verrà utilizzata anche per la registrazione di un nuovo account tramite l'applicazione mobile.
Aggiornamento 2: Sembra che ci siano più risposte a questo, ma sinceramente non so quale contrassegnare come risposta. Alcuni dicono che si può fare, altri dicono che non può.