https://medium.com/@caopengau/authenticating-users-using-sessions-in-a-node-js-application-a-step-by-step-guide-3da2b881b35a