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:
- 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?
- Questa strategia è sicura? Riesci a vedere eventuali carenze / lacune in esso?
- Quale strategia deve essere utilizzata per proteggere l'endpoint di accesso?