Per un'app web client ricca, sul server ho bisogno di verificare che ogni chiamata provenga da un utente legalmente connesso. Ovviamente l'ID utente non è sufficiente, perché è facile da indovinare.
Ho un'idea di cui sono scettico, ma non riesco a pensare a ragioni razionali per non farlo.
Sta usando l'hash della password protetto con una funzione hashing sufficientemente strong (bcrypt?) un buon identificatore di sessione? È già in DB, è unico per ogni utente e non può essere indovinato facilmente. Sto utilizzando un canale sicuro (HTTPS) per tutte le comunicazioni tra client e server, quindi non devo preoccuparmi di intercettare l'identificatore di sessione.
Non mi interessa la scadenza della sessione, lo stato o l'accesso da due computer alla volta. L'app del server è abbastanza stateless. Tutto ciò di cui ho veramente bisogno è l'ID utente e alcuni mezzi extra di verifica che ha effettuato l'accesso correttamente.