27. November 2022
Die Programmiersprache Go enthält einen hervorragenden HTTP Server, der es eingebettet in in Go geschriebene Anwendungen erlaubt, als Webanwendung zu fungieren.
Ein ganz entscheidender Mechanismus fehlt dem Server allerdings: Eine Methode, die sicherstellt, dass keine Ressourcen aufgerufen werden, die eine Authentifizierung erfordern. In Go geschriebene Anwendungen müssen das für sich immer wieder neu erfinden, oder sich auf Drittbibliotheken verlassen, die das für sie implementieren.
In Java ist das anders geregelt, hier existiert mit dem Modul jdk.httpserver
schon seit Jahr und Tag ein ebenso effizienter einbettbarer HTTP Server und dieser besitzt den Mechanismus zur Authentifizierung, der in Go fehlt. Anwendungen können auf dessen Grundlage ganz unterschiedliche Athentifizierungsmethoden implementieren.
Unabhängig von der Authentifizierungsmethode stellt das Modul jdk.httpserver
stets standardmäßig sicher, dass ohne Authentifizierung keine Ressource aufgerufen werden kann, die eine solche erfordert. Anwendungen müssen für derartige Ressourcen lediglich ein Objekt hinterlegen, das die Schnittstelle Authenticator
implementiert.
Für Webanwendungen moderner Prägung ist die Bearer Authentication nach RFC 6750 eine ideale Authentifizierungsmethode, weil Webclients hiermit auf das neue Laden kompletter Webseiten verzichten und stattdessen einen dynamischen Aufbau von Teilen der Bedienoberfläche auch für die Authentifizierung beibehalten können. Zudem lassen sich mit Bearer Authentication moderne Single Sign On Lösungen realisieren sowie wenn nötig auch die Authentifizierungsfunktionen von Web- und Clouddiensten einbinden.
Praktischerweise liefert Neon mit dem Modul oauth eine vollständige Implementierung der Bearer Authentication, die einfach eingeschaltet werden kann, sofern für Teile einer Anwendung eine Authentifizierung erforderlich ist.
Allerdings ist die Verwendung dieser Authentifizierungsmethode nicht trivial und verlangt mehr Mitwirkung auf der Seite des Clients. Dass und wie dies dennoch mit überschaubaren Schritten realisiert werden kann, bringt der neue Artikel Authentifizierung für Webclients dem Leser ab sofort näher.
Copyright © Ulrich Hilger, alle Rechte vorbehalten.