Project

General

Profile

Actions

Feature #7165

closed

FE User Registration: Konzept fuer Implementierung via QFQ

Added by Carsten Rose over 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
High
Assignee:
Carsten Rose
Target version:
Start date:
13.11.2018
Due date:
15.02.2019
% Done:

0%

Estimated time:
Discuss:
Prio Planung:
Vote:

Description

Fuer forkred benoetigen wir eine FE User Self-Registration

Die Extension 'fe_change_pwd' ist ein gutes proof of concept

Veraltete Ueberlegungen:

Folgende T3 Register Extensions scheinen einigermassen aktuell sein.

Actions #2

Updated by Carsten Rose over 5 years ago

  • Subject changed from FE User Registration to FE User Registration: Konzept fuer Implementierung via QFQ
  • Assignee set to Carsten Rose
  • Target version set to 18.12.1
  • Nur die sr_feuser_register ist fuer 9 bereit.
  • In #7164 wurde das testweise installiert.

Konzept: Register feUser via QFQ

QFQ Erweiterung:

  • Es gibt eine neue 'escape class' "p" (=password), die erzeugt aus dem Value ein T3 FE Password hash.

Passwort anpassen:

  • Report: sql = UPDATE fe_user SET password={{myPassword:R:p}} WHERE user_name={{feUser:T}}
  • Form: fe.name='myPassword', fe.sqlAfter={{dbIndexT3|UPDATE fe_user SET password={{myPassword:F:p}} WHERE user_name={{feUser:T}} }}

Neuen FE User anlegen:

  • Wie Passwort anpassen, nur INSERT anstelle von UPDATE.

Workflow 1: Self Registration email

  • QFQ Form 'register':
    • Fragt nach Email
    • Check das die Email nicht schon vergeben ist.
    • Check das keine UZH Mail (=UZH Account) angegeben wird.
    • Check das keine Mailinator Domain verwendet wird.
    • Erzeugt einen tmp_User Record mit uniq hash.
    • Sendet Confirmation URl an Email
  • User klickt auf den Link in der URL
  • Es oeffnet sich ein 'resetPassword' Form.
  • Das Form erzeugt den User (inkl. setzen der FE Group).
  • FE User wird weitergleitet auf die Login Seite und kann sich einloggen.
  • Fake User werden einmal pro Woche geloescht.
  • Der Confirmation Hash ist nur einmal und maximal x-Tage gueltig.

Workflow 2: Reset Password

  • Bei der Login Box gibt es einen Link auf ein Form 'requestPasswordReset'.
  • User gibt auf dem Form seine Email an. Existiert die Email, wird ein Reset token an die Email gesendet.
  • Existiert die Email nicht, gibt es eine Fake Meldung das eine Mail versendet wurde.
  • Mit dem Token kann der User das 'setPassword' Form aufrufen.
  • Das urspruengliche Passwort bleibt solange gueltig bis ein neues gesetzt wird.

Workflow 2: Set Password

Eine Seite mit einem Form:

  • User hat in seinen persoenlichen Settings ein 'Set Password' Link.
  • Das alte und zweimal das neue Passwort werden abgefragt.
  • Der Hash des alten wird mit der T3 DB verglichen, nur wenn das ok ist wird das neue gesetzt.
Actions #3

Updated by Carsten Rose over 5 years ago

  • Due date set to 10.11.2018
Actions #4

Updated by Carsten Rose over 5 years ago

  • Due date changed from 10.11.2018 to 16.11.2018
  • Start date changed from 04.11.2018 to 13.11.2018
Actions #5

Updated by Carsten Rose over 5 years ago

  • Due date changed from 16.11.2018 to 25.11.2018
Actions #6

Updated by Carsten Rose over 5 years ago

  • Due date changed from 25.11.2018 to 07.12.2018
Actions #7

Updated by Carsten Rose over 5 years ago

  • Target version changed from 18.12.1 to 141
Actions #8

Updated by Carsten Rose over 5 years ago

  • Priority changed from Normal to High
  • Target version changed from 141 to 146
Actions #9

Updated by Carsten Rose over 5 years ago

  • Due date changed from 07.12.2018 to 23.01.2019
Actions #10

Updated by Carsten Rose about 5 years ago

  • Due date changed from 23.01.2019 to 06.02.2019
  • Assignee changed from Carsten Rose to Marc Egger

Aktuelles Problem: bei Form-Load ist alles ok, bei Form-Save steht keine T3 Umgebung zur Verfuegung (AJAX Calll outside T3) und wir muessen T3 instantieren.

Bitte mit CR besprechen wie die T3 Umgebung in QFQ/API Calls eingebunden werden kann. Evtl. hilft das folgende Posting:

https://stackoverflow.com/questions/47777486/what-is-the-recommended-way-to-instantiate-objects-in-typo3-extensions

Problem:

  • wird dann T3 vollstaendig instantiert?
  • sollten wir, falls wir das noch oefter brauchen, gleich so auslegen das es nur einmal instantiert wird?
Actions #11

Updated by Carsten Rose about 5 years ago

  • Description updated (diff)
Actions #12

Updated by Marc Egger about 5 years ago

  • Assignee changed from Marc Egger to Carsten Rose
Actions #13

Updated by Carsten Rose about 5 years ago

  • Due date changed from 06.02.2019 to 15.02.2019
Actions #14

Updated by Carsten Rose about 5 years ago

  • Status changed from New to Closed
  • SW hat eine erste Variante bei LSZGS implementiert.
Actions #15

Updated by Carsten Rose about 5 years ago

  • Target version changed from 146 to 19.2.1
Actions

Also available in: Atom PDF