The term “auth” is ambiguous, often meaning either authentication (authn) or authorization (authz), which leads to confusion and poor system design. Instead, Nicole Tietz-Sokolskaya, a software engineer at AI market research platform Remesh, argues that the industry adopt the terms “login” for authentication and “permissions” for authorization, as these are clearer and help maintain distinct, appropriate abstractions for each concept. From their blog post: We should always use the most clear terms we have. Sometimes there’s not a great option, but here, we have wonderfully clear terms. Those are “login” for authentication and “permissions” for authorization. Both are terms that will make sense with little explanation (in contrast to “authn” and “authz”, which are confusing on first encounter) since almost everyone has logged into a system and has run into permissions issues. There are two ways to use “login” here: the noun and the verb form. The noun form is “login”, which refers to the information you enter to gain access to the system. And the verb form is “log in”, which refers to the action of entering your login to use the system. “Permissions” is just the noun form. To use a verb, you would use “check permissions.” While this is long, it’s also just… fine? It hasn’t been an issue in my experience.
Both of these are abundantly clear even to our peers in disciplines outside software engineering. This to me makes it worth using them from a clarity perspective alone. But then we have the big benefit to abstractions, as well. When we call both by the same word, there’s often an urge to combine them into a single module just by dint of the terminology. This isn’t necessarily wrong — there is certainly some merit to put them together, since permissions typically require a login. But it’s not necessary, either, and our designs will be stronger if we don’t make that assumption and instead make a reasoned choice.
Read more of this story at Slashdot.