Voglio sapere se questo è uno schema adatto per la gestione delle sessioni. Una volta che l'utente si è autenticato con user / pass, il server restituisce session = MD5(SECRET + user_id) (insieme ad altri campi) dove SECRET è una stringa casuale (ad esempio 256 bit).
Quindi il client invia semplicemente l'hash session ricevuto con ogni richiesta e il server lo convalida controllando che MD5(SECRET + user_id) sia uguale all'hash ricevuto.
Quali sono i potenziali rischi qui? Suppongo che se l'utente è in grado di inviare user_id vuote, è un passo avanti verso SECRET , ma è facilmente evitabile. Inoltre, SECRET potrebbe resistere ogni settimana circa.
(Nota: sto utilizzando Node come back-end per un'app mobile, quindi non ci sono browser e cookie).