# user authentifizierung best practice



## malt1981 (3. Nov 2020)

Hallo zusammen,
ich arbeite gerade an einem kleinen Intranet-Portal (nur intern erreichbar). Architektur in aller Kürze: Frontend HTML, CSS und Javascript. Serverseitig java Rest Webservice (javax.ws.rs). Datenaustausch im json-Format (Javascript XMLHTTPRequest - ohne jquery). Das Ganze läuft auf einem Tomcat.
Funktioniert alles soweit wunderbar. Nun meine Frage: es ergibt sich nun, dass ich auch einen geschützen Bereich benötige. Mein Plan wäre User und Passwort zum Server schicken, dort validieren und "ok" oder "nicht ok" zurück gebe. Wie kann ich den User und Passwort "verantwortungsvoll" per javascipt schicken? Sprich auch wenn ich einen POST aufruf mache, sieht man ja z.B.: in den Browser-Entwicklungstools die Daten in "Reinform". Somit bin ich mir relativ sicher, dass man das so vermutlich nicht macht. Ich habe wirklich schon viel Zeit mit google verbracht, konnte aber nicht wirklich etwas finden. Außer natürlich, dass ein ssl zerifikat "sinnvoll" wäre. Unabhängig vom Zertifikat: gibt ein best practice für mein Problem? Ich würde denken, dass das wohl eher ein Standard Dilemma ist. Für eure Hilfe besten Dank im Vorraus.
PS: ich hoffe ich bin in der richtigen Rubrik. Da auch die Serverseite beteiligt ist, hätte ich gehofft zumindest zu 50%.


----------



## Thallius (3. Nov 2020)

Wenn du HTTPS benutzt ist die Übertragung verschlüsselt. Von daher kann man die credentials schon per Ajax request verschicken. in den Entwicklertools sieht man sie ja nur wenn man sie selber eingibt. Die werden ja nirgendwo gespeichert so das ein anderer sie sehen könnte. Alternativ kannst du natürlich auch beim Server einen key anfragen mit welchem du die credentials dann verschlüsselst bevor du sie verschickst. Aber ist in meinen Augen kaum den Aufwand wert.


----------



## malt1981 (6. Nov 2020)

vielen Dank, das beruhigt mich sehr.


----------



## JeromeC (18. Nov 2020)

IT-Sicherheit ist ein vielschichtiges Thema. Es ist grundlegend richtig, dass die Authentifizierungsinformationen des Anwenders unverschlüsselt transportiert werden, wenn du kein SSL nutzt. Ob du zwischen Frontend und Backend eine Verschlüsselung benötigst, ist Auslegungssache. Zwischen Frontend und Anwender würde ich es empfehlen. Außer deine ReST-API ist nach außen offen, dann ist auch hier eine Lösung benötigt. Außerdem sollte man das OS, auf dem die Anwendung läuft, auch mit sichern. Das sind erstmal so die grundlegenden Themen.


----------



## Dukel (18. Nov 2020)

Wenn das ganze intern ist würde ich ggf. Kerberos mit SSO in betracht ziehen. Da muss der Benutzer kein Username/Passwort (Komfort Gewinn) eingeben und es werden keine Credentials übertragen.


----------

