Just call it a11n or a12n and nobody will know if they can’t count or if you can’t count
And even with ‘AuthN’ vs ‘AuthZ’ it always takes me a minute to spell them out and work out which is which
What’s this authN / authZ business?
That’s the thing, nobody really knows!
AutheNtication vs. AuthoriZation, I believe
How’s that supposed to help?
It doesn’t
AuthN is: I claim to be dreadgoat, but how can I prove it? (login, password, mfa)
AuthZ is: Now that you know I am dreadgoat, do I have permission to post this comment? (access control, roles, attributes)I know what they are and the differences, I thought the N and Z would somehow be an easy way to work it out/remember. But the trick is just to remember which is which.
Who doesn’t like compounding two words with different meaning by definition, but for some inexpiable reason have the same meaning in the programming world, by shortening them?
Now the poor, average programmer has to deal with strange words. One such example is “permission,” which is normally used within a casual context, rather then within a more serious context, like a program handling secure data. The poor programmer can now no longer take his job seriously, and is now forever in an existential crisis, due to the lack of formality. ;)
It’s really not that hard. Authentication is about proving the identity of the subject e.g. logging in using information only known / in possession by the subject (password, mfa etc). Authorization is about establishing what permissions that identity has in a given context. E.g. is this identity allowed to create/read/update/delete these resources. Authorization is typically done through roles (RBAC) or more granulary through attributes (ABAC).
Now how does this compare to AuthN and AuthZ…
Holy crap after writing that AuthN must be authentication and AuthZ must be authorization.
I’m a genius.