Sto lavorando su un servizio REST che ha alcuni requisiti:ordinatore REST Richieste
- Deve essere sicuro.
- Gli utenti non dovrebbero essere in grado di falsificare richieste.
Il mio attuale soluzione proposta è quella di avere un colpo di testa di autorizzazione personalizzato che simile a questa (questo è lo stesso modo in cui l'Amazzonia lavoro servizi web):
Authorization: MYAPI username:signature
La mia domanda è come formare la firma . Quando l'utente accede al servizio, riceve una chiave segreta che dovrebbe essere in grado di utilizzare per firmare le richieste. Questo fermerà gli altri utenti che invieranno richieste per loro conto, ma non li interromperà.
L'applicazione che utilizzerà questo servizio è un'applicazione per iPhone, quindi stavo pensando che avremmo potuto inserire una chiave pubblica nell'applicazione con cui possiamo fare una firma aggiuntiva, ma questo significa che dovremo avere due firme, una per la chiave utente e una per la chiave app?
Qualsiasi consiglio sarebbe molto apprezzato, mi piacerebbe molto farlo bene la prima volta.
Definire "richieste di forgiatura". Quale entità crea richieste non forgiate? È il software lato client? – Alexander