Come posso assicurarmi che l'API REST risponda solo alle richieste generate da client fidati, nel mio caso le mie applicazioni mobili? Voglio prevenire richieste indesiderate provenienti da altre fonti. Non voglio che gli utenti inseriscano una chiave seriale o altro, dovrebbe accadere dietro le quinte, al momento dell'installazione e senza alcuna interazione da parte dell'utente.
Per quanto ne so, HTTPS è solo per convalidare il server con cui stai comunicando è chi dice di essere. Ovviamente userò HTTPS per crittografare i dati.
C'è un modo per raggiungere questo obiettivo?
Aggiornamento: l'utente può eseguire azioni di sola lettura, che non richiedono che l'utente abbia effettuato l'accesso, ma può anche eseguire azioni di scrittura, che richiedono l'accesso dell'utente (autenticazione tramite token di accesso). In entrambi i casi, desidero che l'API risponda alle richieste provenienti solo da applicazioni mobili affidabili.
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 può essere fatto, altri dicono che non può.