To make token-based authentication easier to understand, let’s start with some examples of “tokens,” which are basically versions of secret passwords, knocks or phrases used to verify identities.
A cartoon character knocks on a door and a sliding panel opens with a face appearing, waiting for the secret phrase (“Joe sent me”) before opening the door to keep out undesirables. It could also be a special sequence of knocks (two knocks, pause, three knocks) instead of a secret phrase.
Or maybe you prefer spy movies, where two people need an inconspicuous way of verifying their identities when meeting for the first time in a public place. The secret code is an agreed-upon message. The spy looking for his contact in a bar makes a seemingly random comment, to which his contact responds with the correct answer to verify her identity. Only then will the conversation or hand-off of confidential information occur.
Cartoons and movies notwithstanding, auth tokens are incredibly useful tools when we execute transactions online to prove one’s identity during logins, updates, purchases and other processes. The great thing about auth tokens is that they might be seamless, as in the case of a login experience, or not so much, applying “friction” (additional or manual input) as I have discussed in previous blogs to ensure that you are who you say you are and that you do indeed want to execute the particular action.
Because tokens don’t have to contain a user’s personal data and are algorithm/software generated, they keep this data safer from hackers. This is a huge improvement over enterprises using a person’s social security number or other personal/private information as their account number, making it easier for bad actors to steal identities. Or users who include personal data in their passwords, like the names of their pets, that can be easily discovered by bad actors with a quick search of the user’s social media accounts.