Autenticazione API mobile

9

Sto provando a progettare un servizio Android Analytic in cui ogni applicazione dell'utente che si registra in questo servizio deve scaricare il nostro SDK. Lo stesso SDK deve comunicare con il nostro server API. Il punto in cui mi sono imbattuto nel problema è che non so come implementare un modo corretto di autenticazione per ogni applicazione per poter comunicare con il nostro server API.

Ho già generato una chiave API univoca per ogni applicazione dell'utente, ma non so come gestire il processo di autenticazione, poiché se assumiamo che la chiave API sia l'unico fattore di autenticazione può essere facilmente rubata dall'hacker .

D'altra parte, ho letto che JWT sarebbe il caso migliore, ma che differenza c'è inviando le API-Keys e ottenendo il token di accesso dove ancora una volta entrambe possono essere facilmente rubate? ora dovrei usare OAuth 2.0 o qualcos'altro?

Qualsiasi idea sarebbe apprezzata ...

    
posta iSun 16.10.2015 - 21:46
fonte

2 risposte

1

Le JWT possono essere scadute. (Dovrebbero essere su base regolare o basati su determinate azioni dell'utente). Quindi può essere emesso un nuovo JWT. Ma alla fine, se il JWT è stato rubato e non è ancora scaduto, sei stato compromesso. Alla fine della giornata, se hai intenzione di mantenere lo stato, il client deve conservare qualcosa, cookie di sessione, jwt, qualunque cosa ...

Ti consiglierei di implementare un modo per scadere e amministrare nuovamente le chiavi API. Ecco una risposta con un ottimo riassunto delle migliori pratiche. Come implementare un meccanismo chiave API

    
risposta data 21.04.2016 - 08:07
fonte
0

Uno dei miei colleghi ha menzionato APIMAN (da RedHat) a me oggi, che sembra essere quello di cui hai bisogno. Ha un livello di autenticazione tra le altre utili funzioni.

    
risposta data 16.10.2015 - 22:00
fonte

Leggi altre domande sui tag