Protezione dell'API REST per l'utilizzo da parte delle app mobili

3

Ho sviluppato un'API REST i cui client sono app / siti web mobili sotto il mio controllo (API non è aperta a nessuno). Gli utenti accedono alla mia app / sito web mobile con i loro account di accesso Facebook o g +. Mi piacerebbe proteggere l'API in modo che:

(a) gli utenti possono accedervi solo dopo aver effettuato correttamente l'accesso a fb / g + tramite la mia app / sito web

o

(b) solo le mie app / siti web possono accedervi.

Ho pensato di seguire per (a) e apprezzerei il feedback su eventuali punti deboli o miglioramenti:

  1. Tutti i dati tra l'app per dispositivi mobili e l'API REST sono crittografati con TLS.
  2. L'utente accede alla mia app con le credenziali di Facebook / g +.
  3. L'app riceve il token da fb / g + e recupera le informazioni dell'utente.
  4. L'app invia le informazioni utente (nome utente / email / ID univoco) e il token all'API REST (ad esempio, / login).
  5. L'API REST utilizza il token e l'ID univoco per effettuare una chiamata di prova all'API fb / g + per garantire che le informazioni su token e le informazioni utente siano valide.
  6. L'API REST emette il proprio token per il token di app e cache con chiave per ID univoco.
  7. L'app invia un ID univoco e un token con ogni accesso successivo all'API REST.
  8. API REST ricerca ID univoco e token nella cache. Se esiste, l'accesso API è concesso a tale richiesta.

Mi piacerebbe eliminare il passaggio 5, ma non vedo in che altro modo verificare le credenziali fornite all'API REST.

Ho anche pensato di utilizzare l'autenticazione HTTP di base e TLS per (b), e questo andrebbe bene per un client di un sito Web, ma per le app mobili, significa che la password dovrebbe essere memorizzata nell'app mobile in qualche modo e suscettibile di esposizione, non è vero? Da quanto ho capito, la protezione di un'API con Basic Auth e TLS è molto comune e posso vedere come può funzionare per i siti Web, ma non conosco un modo per ottenere (b) per le app mobili senza mettere a rischio l'esposizione della password .

    
posta dcr 05.12.2013 - 05:37
fonte

1 risposta

-1
  1. la tua API potrebbe non essere pubblica come credevi. Uno può annusare tutto il traffico dal cellulare e ottenere tutti i dati inviati dall'app mobile al server.

  2. anche con htpps o autenticazione di base, si possono annusare i dati.

link

    
risposta data 18.09.2018 - 16:42
fonte

Leggi altre domande sui tag