Bylothink / do-you-dare

🎴 A web-game based on the original game of "Truth or Dare?" with different game modes.
https://doyoudare.cards
Other
0 stars 0 forks source link

Implementare le logiche di login / registrazione #8

Closed Byloth closed 2 years ago

Byloth commented 3 years ago

Frontend

N.B.: Questi task richiedono prima la chiusura della Issue #9 per essere svolti.

Backend

Considerazioni

Valutare se utilizzare il modello nativo di Django per gestire gli utenti dell'applicazione oppure se andare a definire un modello ad-hoc per questa categoria di utenti.
Gli utenti dell'applicazione, in ogni caso, NON dovranno avere accesso alla sezione admin di Django.

Byloth commented 3 years ago

Valutare se utilizzare il modello nativo di Django [...] oppure se [...] definire un modello ad-hoc [...]

Dopo essermi confrontato con menti più esperte del sottoscritto, siamo giunti alla conclusione che utilizzare il modello nativo di Django sia la scelta ottimale.
Così facendo, ci viene tutto regalato... Dalla gestione degli utenti al supporto da parte di librerie terze per l'autenticazione.

Byloth commented 2 years ago

Dopo essermi confrontato con menti più illuminate, riguardo la gestione della verifica via e-mail, siamo giunti alla conclusione che (in questo caso) non è necessario creare una nuova colonna all'interno del modello User per eseguire il salvataggio del token di verifica.
Viceversa, basterebbe creare un nuovo modello adibito esclusivamente al salvataggio del token di verifica con una semplice chiave esterna per legarlo all'utente; così facendo, si potrà inoltre aggiungere anche altri campo (legati sempre al token di verifica) tipo la data di scadenza.


Informazioni MOOOLTO utili, in ogni caso, sono emerse riguardo il metodo corretto che bisognerebbe seguire per estendere il modello User base di Django.
Qui ulteriori dettagli: https://docs.djangoproject.com/en/4.0/topics/auth/customizing/#extending-the-existing-user-model


Infine, mi sono imbattuto in anche questo link che, pur non adattandosi al nostro caso specifico, potrebbe comunque tornar utile: https://www.javatpoint.com/django-user-registration-with-email-confirmation