Ho sviluppato un'API REST backend per un'app mobile e ora sto cercando di implementare l'autenticazione basata su token per evitare di dover richiedere all'utente di accedere ad ogni esecuzione dell'app.
Ciò che avevo in mente era la richiesta iniziale che l'utente inviava le proprie credenziali utilizzando l'autenticazione di base su SSL. Una volta che il server ha autenticato le credenziali, crea un token sicuro e lo invia all'utente affinché possa usarlo nelle richieste successive finché il token non scade o viene revocato.
Sto cercando qualche consiglio su come posso generare un token che non sia suscettibile di cose come gli attacchi MoM / Replay e che garantisca che i dati memorizzati all'interno del token non possano essere estratti.
Ho intenzione di utilizzare il seguente approccio per generare il token che penso impedirebbe che qualsiasi dato venga estratto da esso. Tuttavia, devo ancora assicurarmi che non sia vurnerable da altri attacchi.
L'API sarà accessibile solo tramite SSL ma non sono sicuro di poter fare affidamento esclusivamente su questo da una prospettiva di sicurezza.