4.9 KiB
Beschreibung
Espe soll dazu dienen die Mitglieder einer Partei-Orgranisations-Struktur (z.B. Landesverband) zu erfassen. Damit ist es eine Zusatz bzw. eine Alternative zum MGL des Bundesverbandes. Das Haupt-Ziel dabei ist den Mitgliedern die Nutzung verschiedener Dienste im Netz zu ermöglichen, vorrangig E-Mail abseits von privaten Adressen. Darüber hinaus sollen mittels Espe relevante Mitglieder-Angaben erfasst und berechtigten Stellen zur Verfügung gestellt werden, welche nicht durch das MGL abgedeckt werden bzw. darüber schlecht oder gar nicht abrufbar sind.
Der Name ist einerseits ein Bezug zum gleichnamigen Pionier-Baum, welcher auch als "Zitter-Pappel" bekannt ist, zum anderen kann man ihn lesen als Abkürzung für "Erweiterte Sächsische Partei-Eingliederung".
Anwendungsfälle
Partei-Eintritt
- Bundespartei erfasst und stellt bereit (z.B. mittels Meldung an Mitglieder-Beauftragen der Organisations-Struktur)
- Mitgliedsnummer (z.B. "123456")
- Klarname (z.B. "Karl Liebknecht")
- private E-Mail-Adresse (optional)
- der zuständige Betreuer des Espe-Instanz legt einen Datensatz für das Mitglied mit diesen Angaben an
- folgende Werte leiten sich aus dem Klarname des Mitglieds ab:
- Anzeigename für Netz-Dienste (im einfachsten Fall entspricht dieser Wert genau dem Klarname)
- Anmeldename für Netz-Dienste (z.B.
karl.liebknecht) (muss eindeutig sein; bei Namens-Dopplung wird ein Index angehangen)
- dem Mitglied wird eine E-Mail an die private Adresse geschickt mit einem Willkommens-Gruß und einem Link zu einem Registrierungs-Formular in Espe, welches folgende Angaben erfasst:
- soll eine pseudonymisierte E-Mail-Adresse (z.B. "mitglied-1234567@dielinke-sachsen.de") bei der Organisations-Struktur angelegt werden?
- soll eine namentliche E-Mail-Adresse (z.B. "karl.liebknecht@dielinke-sachsen.de") bei der Organisations-Struktur angelegt werden?
- sollen eingehende E-Mails an die private Adresse geleitet werden? (empfohlen)
- welches Passwort soll für die Nutzung der Netz-Dienste verwendet werden? (optional; falls nicht ausgefüllt, kein Zugang zu Netz-Diensten)
- durch Absenden des Formulars werden die Daten zur Espe-Instanz übertragen und dort hinterlegt
- der zuständige Betreuer des Espe-Instanz erhält Benachrichtigung über erfolgte Registrierung des Mitglieds
- der zuständige Betreuer des Espe-Instanz veranlasst die Einrichtung der gewünschten E-Mail-Adresse(n) und schaltet das Mitglieder-Konto frei
- Benachrichtigung des Mitglieds
- ggf. über erfolgte Einrichtung der E-Mail-Adresse(n)
- ggf. Zugangsdaten für Dienste (ohne Passwort)
- fehlschlagenden Prüfungen werden nicht immer an das Frontend kommuniziert um potenziellen Angreifern keine Informationen zu liefern
Änderung des Namens
[TODO]
Änderung der privaten E-Mail-Adresse
[TODO]
Änderung des Passwortes
- Mitglied gibt Anmelde-Namen oder private E-Mail-Adresse an
- Espe ermittelt das dazu passenden Mitglied-Konten
- Espe prüft:
- ob der letzte Änderungs-Gesuch lang genug zurück liegt (Durchsatzratenbegrenzung)
- ob das Mitglied registriert ist
- ob das Mitglied aktiviert ist
- Espe erzeugt einen Schlüssel und hinterlegt ihn für das Mitglied
- Espe setzt den aktuellen Zeitpunkt als Zeitpunkt des letzten Änderungs-Gesuch des Mitglieds
- Espe sendet eine E-Mail an die private E-Mail-Adresse des Mitglieds mit einem Link zum nächsten Schritt, welcher die ID des Mitglieds sowie den erzeugten Schlüssel transportiert
- Mitglied erhält E-Mail
- Mitglied öffnet Link
- Mitglied gibt das neue Passwort ein und sendet das Formular ab, wobei der mit transportierte Schlüssel ebenfalls übermittelt wird
- Espe prüft ob der Schlüssel korrekt ist
- Espe prüft ob die Passwort-Kriterien erfüllt sind
- Espe speichert das neue Passwort und löscht den hinterlegten Schlüssel
- Espe sendet Benachrichtigung über Passwort-Änderung an private E-Mail-Adresse des Mitglieds
Partei-Austritt
- Mitglied meldet Austritt
- Meldung an zuständigen Betreuer des Espe-Instanz geht ein
- zuständiger Betreuer des Espe-Instanz löscht Datensatz des betreffenden Mitglieds zum Inkrafttreten des Austritts
Technische Eckpunkte
- Drei-Teilung in Datenbank, Backend und Frontend
- falls Datenbank und Backend auf verschiedenen Systemen laufen, soll die Übertragung auf einem verschlüsselten Kanal geschehen
- die Übertragung zwischen Clients und Backend- sowie Frontend-Server soll zwingend verschlüsselt sein (z.B. HSTS)
- Sicherheits-Anforderungen
- müssen hoch sein, da es sich um sensible Daten handelt und potentiell ein hohes Interesse am Abgreifen der Daten durch Dritte besteht
- vor Verwendung soll das ganze System ausgiebig durchleuchtet und auf Schwachstellen abgeklopft werden
- Passwörter werden nicht im Klartext gespeichert
- "mobile first"-Ansatz für Frontend verfolgen
Logik
[TODO]