Handling authentication is usually an afterthought, something that we just expect to work and rarely put in the effort to think it through. It should be simple, but the reality is that it comes with a lot of hassle for both the users and the company running the show.
Full article