dreammall-earth / dreammall.earth

Dreammall.earth website & product page
https://dreammall-earth.github.io/dreammall.earth/
Apache License 2.0
6 stars 2 forks source link

🚀 [Feature] [WIP] Einladung neuer Nutzer zum Registrieren auf der DreamMall #292

Open mahula opened 6 months ago

mahula commented 6 months ago

🚀 Feature: Einladung neuer Nutzer zum Registrieren auf der DreamMall

Die DreamMall ist ein Einladungsnetzwerk. Jeder Nutzer verfügt ab Registrierung über 10 :question: Links zum Einladen - erreichbar über den DreamMall Button. Neue Nutzer können sich nur via Einladungslink einen Account anlegen. Einladungslinks verlieren Gültigkeit nach einmaliger Verwendung.

Als Nutzer ohne Account Will ich mittels Enladungslink einen Account anlegen können Um mit anderen Nutzern interagiern und die Funktionen der DreamMall nutzen zu können

Als registrierter Nutzer Will ich weitere Nutzer einladen, sich auf der DreamMall einen Account anzulegen Um mit ihnen zu interagiern und gemeinsam die Funktionen der DreamMall nutzen zu können

Fragen

Szenarien

Szenario: Eingeloggter Nutzer sieht seine Einladungslinks im DreamMall button Menü/Cockpit
  Angenommen ich bin eingeloggt
  Und ich habe noch Einladungslinks zur Verfügung
  Wenn ich den DreamMall Button klicke
  Dann werden mir die verfügbaren Einladungslinks angezeigt

Szenario: Erfolgreiche Registrierung via Enladungslink
  # siehe Fragen

Szenario: Registrierung mit verfallenem Einladungslink nicht möglich
  Wenn ich einen nicht mehr gültigen Einladungslink im Browser öffne
  # siehe Fragen
Elweyn commented 3 weeks ago

Wie setzen wir es Technisch um?

Sender Seite:

Empfänger Seite:

Können wir mit einer API von Authentik uns einladungslinks generieren lassen?

https://docs.goauthentik.io/docs/flow/stages/invitation/ beschreibt den invitation flow nicht besonders gut und da steht noch nichts davon wie da links mit generiert werden. https://docs.goauthentik.io/docs/user-group-role/user/invitations hier wird ein händisches Einladen vorgestellt was meiner Meinung nicht erwünscht sein wird. https://docs.goauthentik.io/docs/security/CVE-2022-23555#token-reuse-in-invitation-urls-leads-to-access-control-bypass-via-the-use-of-a-different-enrollment-flow hier wird über Sicherheitsbedenken und lösungen dazu gesprochen

API Dokumentation

https://docs.goauthentik.io/developer-docs/api/reference/stages-invitation-invitations-create https://docs.goauthentik.io/developer-docs/api/reference/stages-invitation-invitations-list https://docs.goauthentik.io/developer-docs/api/reference/stages-invitation-invitations-retrieve https://docs.goauthentik.io/developer-docs/api/reference/stages-invitation-invitations-update https://docs.goauthentik.io/developer-docs/api/reference/stages-invitation-invitations-partial-update https://docs.goauthentik.io/developer-docs/api/reference/stages-invitation-invitations-destroy

Können wir prüfen ob ein einladungslink noch gültig ist?

In der API Dokumentation wird jeder einladung mit einem Expire Datum bestückt und vielen weiteren möglichkeiten.

ulfgebhardt commented 1 week ago

Warum sind die Anzahl der Einladungslinks begrenzt?

Was hat der Nutzer davon eingeladen zu werden?

mahula commented 1 week ago

Warum ist die Anzahl der Einladungslinks begrenzt?

Das wurde so konzipiert.

Was hat der Nutzer davon eingeladen zu werden?

  • Kann man sich nicht registrieren?
  • Was ist der Unterschied?

Die DreamMall ist als Einladungsnetzwerk geplant. Man wird sich vorerst nicht einfach einen Account anlegen können. Via Einladungslink eines bereits registrierten Nutzers kann man sich auf der DreamMall einen Account anlegen.

ulfgebhardt commented 1 week ago
ulfgebhardt commented 1 day ago

Es bleibt bei den oben stehenden Entscheidungen. Wir haben entschieden, dass wir Einladungen zuerst ohne Begrenzung umsetzen und jedem Nutzer erlauben sich zu registrieren. Eine Beschränkung führen wir zu einem späterem Zeitpunkt ein, wenn wir unsere basis-Nutzergruppe gefunden haben und deren Raum schützen möchten.