Autenticazione stateless API REST tramite accesso social

4

Sto implementando un'API REST per le nostre applicazioni mobili in cui l'utente eseguirà l'accesso utilizzando gli SDK di vari social media. Attualmente, la strategia di accesso è la seguente:

  • I token (s) (access_token in caso di Facebook, access_token e refresh_token in caso di Google+) generati dall'SDK vengono inviati all'endpoint di accesso del server API.
  • Dopo la verifica del token (utilizzando il rispettivo endpoint dell'applicazione sociale), un token Web JSON firmato da una stringa casuale viene generato e restituito all'applicazione mobile, che quindi lo mantiene in un archivio di valori-chiave sicuro. Questo token conserva un'intestazione di autorizzazione per qualsiasi altra richiesta.
  • La presenza del token significa che l'utente ha effettuato l'accesso. Quando l'utente si disconnette (o la sessione dei social media scade), il token viene eliminato.

Ho le seguenti domande su questa strategia:

  1. Il payload del token è costituito dall'ID utente e da una data di rilascio. Attualmente non è in corso alcun meccanismo di scadenza. È necessario in questo caso?
  2. Questa strategia è sicura? Riesci a vedere eventuali carenze / lacune in esso?
  3. Quale strategia deve essere utilizzata per proteggere l'endpoint di accesso?
posta ZeMoon 24.01.2015 - 14:52
fonte

1 risposta

2

La scadenza dei token può aver luogo sul lato server, causando il ripristino del client dopo x time.

Se stai cercando di effettuare accessi social, questo metodo dovrebbe andare bene fintanto che stai trasmettendo i dati su SSL e non salvando le credenziali (Combi U / P) sui tuoi sistemi. L'endpoint di accesso deve essere in esecuzione su HTTPS (nuovamente, letto, protetto) e dovrebbe connettersi all'endpoint di terze parti, in modo sicuro.

Se stai cercando una buona soluzione (gratuita), Firebase.com (principalmente un database relazionale cloud) ha una grande sezione per includere l'autenticazione di terze parti, è il mio sistema preferito, ma uso anche il loro database molto.

Cheers HTH

    
risposta data 31.03.2015 - 20:45
fonte

Leggi altre domande sui tag