Hallo zusammen
Muss in einem Tool (fat-client, der mit einem Server über die REST/http-Schnittstelle kommuniziert) Benutzername und Passwort "hart" codieren. Also direkt im Code, damit ich eine einfache http-Basic Authentication realisieren kann.
Ich finde ein Passwort zu hinterlegen immer nicht gut.
Da der Server öffentlich erreichbar ist, hast du natürlich Interesse dran, dass nicht jeder die Schnittstellen nutzt - der soll der Client sich authentifizieren.
Die Frage ist was sich genau authentisieren soll?
Der Benutzer des Clients, die Client-Software oder vielleicht sogar den Client PC.
Je nachdem ergibt sich dann, dass z.B. jeder der die Client-Software hat, den Server nutzen kann.
Oder jemand der Zugriff zu dem PC hat...
Oder die eine Person
Eine weitere Überlegung von mir ist, wird ein Change-Tracking der Daten auf dem Server durch geführt. Also wer hat was geändert.
Damit dürfe sich das auf den Benutzer beschränken.
Daher glaube ich, dass ihr ein OAuth-Server nutzen solltet.
Der Benutzer/der Berechtigte kann sich, dann einmal anmelden und ein Token wird im Client gespeichert.
Dieses wird dann zur Authentifizierung gegen den REST-Endpunkt genutzt.
Vorteil das Token kann entzogen werden und ggf. durch erneute Anmeldung einfach erneuter werden.
Das Passwort würdest du aus dem Client nur mit einen Release ändern können.
Du solltest davon ausgehen, dass es kompromittiert werden kann bzw. du es nach BSI Empfehlung sowieso alle 90 Tage ändern solltest.