- Der Begriff „auth“ hat zwei Bedeutungen: Authentifizierung (authentication) und Autorisierung (authorization)
- Dadurch entsteht Verwirrung bei Namen von Bibliotheken oder Paketen
- Die Begriffe „authn“ und „authz“ sind nicht eindeutig und schwer verständlich
Der Unterschied zwischen Authentifizierung und Autorisierung
- Authentifizierung (authentication): der Prozess, bei dem überprüft wird, wer der Benutzer ist
- Autorisierung (authorization): der Prozess, bei dem entschieden wird, was der Benutzer tun darf
- Die beiden Konzepte sind verschieden; wenn eines gelöst ist, ist das andere Problem nicht automatisch gelöst
Vorschlag zur Verwendung von „permissions“ und „login“
- Es wird vorgeschlagen, Authentifizierung klar als „login“ und Autorisierung als „permissions“ zu unterscheiden
- „login“ kann als Substantiv und als Verb verwendet werden
- Substantiv: die Informationen, die eingegeben werden, um auf ein System zuzugreifen
- Verb: der Vorgang, sich anzumelden, um ein System zu nutzen
- „permissions“ wird als Substantiv verwendet; als verbale Form nutzt man „check permissions“
Vorteile klarer Begriffswahl
- Auch Menschen aus anderen Bereichen als dem Software Engineering können es leicht verstehen
- Es ermöglicht bessere Abstraktionen
- Authentifizierung und Autorisierung können als getrennte Module im Design behandelt werden
Meinung von GN⁺
- Die Bedeutung klarer Begriffe: Wenn Begriffe eindeutig sind, läuft die Kommunikation reibungsloser und Missverständnisse werden reduziert.
- Vorteile der Abstraktion: Wenn Authentifizierung und Autorisierung getrennt werden, wird das Systemdesign flexibler und die Wartung einfacher.
- Beispiele für andere Begriffe: Neben „login“ und „permissions“ könnte man auch Begriffe wie „access control“ in Betracht ziehen.
- Aspekte bei der Einführung technischer Begriffe: Bei der Einführung neuer Begriffe sind ausreichend Diskussion und Konsens im Team erforderlich.
- Empfohlene verwandte Projekte: Repräsentative Projekte, die Authentifizierung und Autorisierung trennen, sind OAuth und OpenID Connect.
8 Kommentare
Unter Entwickler:innen kann man statt
authdurchausauthnundauthzverwenden, und in Dokumentation oder bei Controllern/Fassaden mit Nutzerkontaktloginundpermissionzu benutzen, erscheint mir nachvollziehbar. Aber auchauthnundauthzganz abschaffen zu wollen, scheint mir nicht wirklich nötig zu sein.Wie im Text angemerkt wird, wurde
authdoppeldeutig für Authentifizierung und Berechtigungen verwendet, was tatsächlich verwirrend war. Es scheint ein sinnvoller Versuch zu sein, diese Bereiche mit allgemeineren Begriffen klarer zu trennen, um die Kommunikation mit anderen Bereichen außerhalb reinrassiger Entwickler zu erleichtern.Wenn das Problem darin besteht, dass sich sowohl Authentication als auch Authorization zu Auth abkürzen lassen,
würden im Text, wie dort erwähnt, Authn und Authz meiner Meinung nach völlig ausreichen...
Falls man das für nicht eindeutig genug hält, könnte man es auch etwas weiter ausschreiben, bis hin zu Authenty und Authory.
Es gibt Berechtigungssysteme in Form von Permissions, es gibt ACL-Formen, und wie soll man das dann überhaupt voneinander unterscheiden..?
Wirkt irgendwie etwas erzwungen...
Ich vermute, es ist wohl ein Versuch, die Kommunikationskosten mit nicht-technischen Teammitgliedern zu senken, aber es ist ein bisschen zu viel des Guten.
Nennt man es nicht absichtlich zusammenfassend
auth, weil beides darin enthalten ist?Es gibt Authentication und Authorization – warum also unbedingt ...
Hacker-News-Kommentare