Errore di login

Abbiamo già visto questo errore, ho appena effettuato una ricerca nel nostro sistema di ticketing.

Questo accade quando hai:

  • require activation impostato su true
  • un utente U1 su Discourse con un indirizzo email specifico, possibilmente con ID esterno A.
  • un utente U2 sul lato provider DiscourseConnect con lo stesso indirizzo email e un ID esterno diverso (B)

L’utente accede, Discourse verifica se esiste un utente con ID esterno B, non esiste.
Normalmente Discourse eseguirà una corrispondenza sull’email come passo successivo, ma poiché require activation è impostato, l’indirizzo email non è attendibile e salta questo passaggio e non si assocerà all’utente U1 perché consentirebbe il dirottamento dell’account.
Quindi Discourse decide di creare un nuovo utente. Questo fallisce perché l’utente U1 esiste già con quell’indirizzo email.

Sarebbe utile se ci fosse un errore migliore nel caso in cui l’email esista ma non sia attendibile. Non sono nemmeno sicuro del perché venga visualizzato un errore Rails generico.

Risoluzioni:

  • se i tuoi indirizzi email sul lato provider DiscourseConnect sono verificati e attendibili, imposta require activation su false.
    o
  • cambia l’ID esterno per l’utente U1 in B
    o
  • cambia l’indirizzo email per l’utente U1 in qualcos’altro

Aggiungendo il testo “la modifica desiderata è stata rifiutata” in modo che questo argomento venga trovato quando qualcuno cerca questo errore.

7 Mi Piace