MUDHub / MUDhub

MUDhub is a student project, the goal is to develop a multi user dungeon game.
https://mudhub-server.azurewebsites.net
MIT License
6 stars 1 forks source link

F30 & F260: Login #27

Closed KotschM closed 4 years ago

KotschM commented 4 years ago

Login (F30 & F260)

Nachdem sich der User registriert hat, kann er sich anmelden.

langmario commented 4 years ago

Ich würde auch einen MUD-Master erstmal auf die selbe Übersichtsseite wie "normale" Spieler weiterleiten, da er ja theoretisch auch ein "normaler" Spieler ist mit den Zusatz-Berechtigungen, MUDs zu erstellen.

Ich denke es ist wahrscheinlicher, dass ein MUD-Master nicht nach jedem Login ein Spiel erstellen oder konfigurieren will sondern mitspielen möchte.

maSchoeller commented 4 years ago

Client Für die Anmeldung kann das gleiche UI verwendet werden, wie für die Registrierung (#26 )

Ich fände es gut, wenn sich die UI klar vom Registieren abhebt, ich glaube sonst ist das für den Benutzer verwirrend, was er denn jetzt gerade macht, zu mal ja evtl. bei der Registrierung noch weitere Eigenschaften hinzukommen....

Wird der User gesperrt, wenn er mehrfach die falschen Login-Daten eingibt?

Also technisch könnten wir das relativ leicht Lösen, indem wir in der Datenbank die "trials" speichern und ab einer gewissen Zahl blockieren, zumindest macht es so das ASP.NET Core Team.

Für mich ergibt sich dann aber die Frage, wie wir den User wieder freigeben?

Es wäre Prinzipiell auf jeden Fall wichtig, müssten wir klären ob das gewünscht ist.

avh5711 commented 4 years ago

Version 2 des UI (mit Registrierbutton) finde ich besser.

Sperrung bei mehrfach falschen Loginversuche: Wäre schön, aber verkämpfen Sie sich deswegen nicht. Es ist nicht zentral für das Projekt. Wenn es sich leicht realisieren lässt, dann gerne.

Idee dazu: Nach Sperrung Email an User mit Link zum entsperren (und evtl. neues Passwort einrichten)

maSchoeller commented 4 years ago

Soll die Möglichkeit bestehen sich zum gleichen Zeitpunkt über verschiedene Tabs/Browser anzumelden? Fraglich ist nämlich, was mit der einer zweiten Instanz des Accounts passiert, wenn innerhalb der ersten Instanz zum Beispiel das Passwort geändert wird.

Nein ist nicht möglich, ist wie ein neuer Login oder gibt es ein Szenario wo das Sinnvoll wäre? Trotzdem ist es glaube ich den Mehraufwand nicht wert.

KotschM commented 4 years ago

Soll die Möglichkeit bestehen sich zum gleichen Zeitpunkt über verschiedene Tabs/Browser anzumelden? Fraglich ist nämlich, was mit der einer zweiten Instanz des Accounts passiert, wenn innerhalb der ersten Instanz zum Beispiel das Passwort geändert wird.

Nein ist nicht möglich, ist wie ein neuer Login oder gibt es ein Szenario wo das Sinnvoll wäre? Trotzdem ist es glaube ich den Mehraufwand nicht wert.

Also soll keine Mehrfachanmeldung möglich sein. Dann müssen wir uns das Serverseitig nämlich merken ob Benutzer XY gerade angemeldet ist oder eben nicht

maSchoeller commented 4 years ago

Ja sollten wir machen, Serverseitig einfach eine Logout Methode. Der Client muss sich dann auch abmelden. Beim Fensterschließen müssen wir schauen, ob sich das Client Team ans Event dranhängen kann, @pafinkbeiner schaust du mal wie/ob das geht?

langmario commented 4 years ago

Ja sollten wir machen, Serverseitig einfach eine Logout Methode. Der Client muss sich dann auch abmelden. Beim Fensterschließen müssen wir schauen, ob die sich das Client Team ans Event drangehängt kann, @pafinkbeiner schaust du mal wie/ob das geht?

Ich befürchte mal dass das nicht geht, dass ist wie wenn man nen Prozess abschießt, da gibts kein "gracefully" schließen

Aber @pafinkbeiner kannst mal schauen, vielleicht gehts ja, vllt gleich mit Bezug auf Angular

KotschM commented 4 years ago

Eine Überlegung wäre es auch, nach dem erfolgreichen Login, in einem bestimmten Zeitintervall eine isAlive-Anfrage an den Client zu schicken. Wenn der Client nicht mehr antwortet, wissen wir, dass der Benutzer den Tab/Browser geschlossen hat.

maSchoeller commented 4 years ago

Ja wir können das auch über SignalR lösen, da bekommt man mit, wenn der Tab geschlossen wird, dadruch, dass das Websocket Protocol den Kanal offen hält, wäre dann wie die KeepAlive Message vom @KotschM. Das wäre aber aus meiner Sicht eine nicht so schöne Lösung, aber ja ansonsten nehmen wir halt die nicht so schöne Lösung in kauf;) Wie sieht das mit dem ServiceWorker aus, kann der da was in die Richtung?

langmario commented 4 years ago

Ja wir können das auch über SignalR lösen, da bekommt man mit, wenn der Tab geschlossen wird, dadruch, dass das Websocket den Kanal offen hält, wäre dann wie die KeepAlive Message vom @KotschM. Das wäre aber aus meiner Sicht eine nicht so schöner Lösung, aber ja ansonsten nehmen wir halt die nicht so schöne Lösung in kauf;) Wie sieht das mit dem ServiceWorker aus, kann der das was in die Richtung?

Seh ich auch so, keine gute Lösung Wofür muss der Server denn überhaupt wissen ob ein Client schon verbunden ist?

Soll die Möglichkeit bestehen sich zum gleichen Zeitpunkt über verschiedene Tabs/Browser anzumelden? Fraglich ist nämlich, was mit der einer zweiten Instanz des Accounts passiert, wenn innerhalb der ersten Instanz zum Beispiel das Passwort geändert wird.

Nein ist nicht möglich, ist wie ein neuer Login oder gibt es ein Szenario wo das Sinnvoll wäre? Trotzdem ist es glaube ich den Mehraufwand nicht wert.

Also soll keine Mehrfachanmeldung möglich sein. Dann müssen wir uns das Serverseitig nämlich merken ob Benutzer XY gerade angemeldet ist oder eben nicht

AVH wollte doch genau das, dass man mit mehreren Tabs im unterschiedlichen MUDs gleichzeitig spielen kann, wieso soll dann keine Mehrfachanmeldung möglich sein? In den verschiedenen Tabs laufen dann Client-seitig quasi 2 verschiedene Sitzungen

KotschM commented 4 years ago

AVH wollte doch genau das, dass man mit mehreren Tabs im unterschiedlichen MUDs gleichzeitig spielen kann, wieso soll dann keine Mehrfachanmeldung möglich sein? In den verschiedenen Tabs laufen dann Client-seitig quasi 2 verschiedene Sitzungen

Wenn dann in der einen Sitzung das Benutzerpasswort geändert wird, bleiben die anderen Sitzungen dann angemeldet oder werden die automatisch abgemeldet?

maSchoeller commented 4 years ago

Wenn dann in der einen Sitzung das Benutzerpasswort geändert wird, bleiben die anderen Sitzungen dann angemeldet oder werden die automatisch abgemeldet?

Die bleiben angemeldet bis zum nächsten Mal, das geht am leichtesten. Zu mal das Andere glaube ich gar nicht geht:D

AVH wollte doch genau das, dass man mit mehreren Tabs im unterschiedlichen MUDs gleichzeitig spielen kann, wieso soll dann keine Mehrfachanmeldung möglich sein? In den verschiedenen Tabs laufen dann Client-seitig quasi 2 verschiedene Sitzungen

Ja geht auch, dann müssen wir halt auf Mud Ebene überprüfen. Geht evtl. sogar eher.

langmario commented 4 years ago

AVH wollte doch genau das, dass man mit mehreren Tabs im unterschiedlichen MUDs gleichzeitig spielen kann, wieso soll dann keine Mehrfachanmeldung möglich sein? In den verschiedenen Tabs laufen dann Client-seitig quasi 2 verschiedene Sitzungen

Wenn dann in der einen Sitzung das Benutzerpasswort geändert wird, bleiben die anderen Sitzungen dann angemeldet oder werden die automatisch abgemeldet?

Die bleiben solange angemeldet solange ihr JWT noch gültig ist, wielange können wir einstellen. Danach muss der Client eine neue Anfrage für einen Token stellen und falls das Passwort dann nichtmehr stimmt, wird der Benutzer abgemeldet und muss sich neu authentifizieren. Abgesehen davon, wie oft kommt es vor, dass jemand das Passwort ändert? (im Normallfall :D)

maSchoeller commented 4 years ago

Ich würde sagen, wir belassen es dabei:

Kurzes Feedback über einen Emoji, wäre gut:)