One of the most critical aspects of any application is its authentication system. Traditionally, users logged in by providing a username or email and password combo. This served many apps well for a while, but is problematic.
Users tend to reuse the same password for multiple services, choose weak passwords, and forget passwords to services they don’t often use. On top of that, developers have to make decisions about how to best hash and store user passwords in the database, implement recovery systems, enforce password complexity requirements, and more. It would appear that passwords are the problem. What if there were a better way to solve user authentication?