Gli utenti si autenticano con il proprio numero di telefono, ricevono un testo pin e, se è corretto, ricevono un token di accesso. Archivia il token di accesso in un DB in un modello Token
. Il client invia sempre il token di accesso in un'intestazione Authorization
. Per le richieste che richiedono l'autenticazione, analizzare l'intestazione, verificare se si trova nel database e visualizzare l'id utente (anch'esso memorizzato nel modello Token
) in base alla riga. Supponendo che user_id esista e il token sia contrassegnato come ancora valido, completa la richiesta.
Tutto è finito su HTTPS. I token non hanno scadenza. Se non è valido, elimino il token sul client e quindi all'utente verrà richiesto un altro. I token sono stringhe alfanumeriche casuali e lunghe
È ragionevole? È sicuro? Dovrei usare qualche paradigma preesistente?