Ho un'API REST C # che espone alcuni metodi sul protocollo HTTP. L'API è pensata per essere utilizzata come mia mia app di Android (Java) che è attualmente nella stoffa.
Poiché l'app si trova in una fase di sviluppo iniziale e non è ancora stata rilasciata, accedo ai metodi dell'API utilizzando http://example.com/resources/item17
senza ulteriore sicurezza. Tuttavia, non appena viene rilasciata l'app, non voglio che nessuno tranne gli utenti della mia app acceda all'API.
La mia idea è di generare una sorta di chiave univoca nel mio codice Android C # +. Una versione semplificata per darti l'idea:
int key = DateTime.Now.Minute * Math.PI * 5;
Ciò renderebbe la richiesta simile a:
'http://example.com/resources/item17?key=1234567'
L'API C # verrebbe verificata prima di inviare una risposta.
L'unico modo per capire come viene generata la chiave è quello di invertire il mio codice Android (che verrà offuscato in quel punto).
Ti sembra una buona soluzione o hai altri suggerimenti?