Username obbligatorio con Oauth2

Username obbligatorio con Oauth2

di Riccardo Fantoni -
Numero di risposte: 8

Buongiorno,

utilizzo Moodle 3.7.1.

Da amministratore, non riesco a modificare il profilo degli utenti che utilizzano il servizio Oauth 2 (Google) per l'autenticazione.

Accedo alla pagina di modifica, cambio la mail (è la modifica che mi interessa fare) ma non mi è possibile portare a termine l'operazione: sotto il campo username (già inserito in occasione della registrazione dell'utente) compare la scritta "Obbligatorio". Ma lo username è inserito anche se non posso modificarlo (sfondo grigio nel campo per l'inserimento).

Qualche suggerimento? Grazie

Media dei voti:  -
In riposta a Riccardo Fantoni

Re: Username obbligatorio con Oauth2

di Matteo Scaramuccia -

Ciao Riccardo,
puoi raccontarci perché devi modificare questi attributi? Sono state fatte delle registrazioni errate? Ci sono dati errati a causa di una errata compilazione da parte dell'utente del suo profilo Google?

HTH,
Matteo

In riposta a Matteo Scaramuccia

Re: Username obbligatorio con Oauth2

di Riccardo Fantoni -
Buongiorno,
Il motivo del cambiamento é che sono stato costretto a modificare gli indirizzi di posta nella gsuite di Google. Da @messedaglia.gov.it a @messedaglia.edu.it
Ora gli utenti con il nuovo indirizzo (.edu.it) non possono più accedere al loro profilo su Moodle.
Grazie per la risposta
Riccardo
In riposta a Riccardo Fantoni

Re: Username obbligatorio con Oauth2

di Matteo Scaramuccia -

Ciao Riccardo,
non posso verificare se sia una regressione ma per sistemare il tuo problema io editerei direttamente il database, facendo poi uno svuotamento delle cache "per sicurezza".

La tabella degli utenti è mdl_user, se mdl_ è il prefisso configurato al tempo della installazione di Moodle.

HTH,
Matteo

In riposta a Matteo Scaramuccia

Re: Username obbligatorio con Oauth2

di Riccardo Fantoni -
Grazie, Matteo.
La soluzione che mi proponi è la stessa che mi hanno dato anche nel forum in inglese.
Ho risolto in quest'altro modo: caricando il file CSV da importa utenti e aggiornando gli utenti interessati. Ho fatto la prova con un solo utente ed è andata a buon fine.
Ho riscontrato un altro dato forse problematico. Nella tabella mdl_user arrivo fino al record 7436 mentre uno degli utenti che voglio modificare ha come id il numero 7832. Tra l'altro ci sono solo utenti con autenticazione Manuale. Tutti quelli con oauth2 non lo trovo.
Hai idea del perché?
Grazie molte
Riccardo
In riposta a Riccardo Fantoni

Re: Username obbligatorio con Oauth2

di Matteo Scaramuccia -

Ciao Riccardo,
ahimé sono mesi che non riesco più a leggere e quindi interagire sulla Community Inglese (sono a 21K messaggi non letti arrossito).

Qui servirebbe qualche informazione in più:

  • Sul DB sono 7436 righe/record ma l'id è allineato con il numero di righe e quindi il 7832 non è presente?
  • Come mai nel tuo CSV c'è quell'"id"?
  • L'"id" è lo "user id" cioè la Primary Key del Database oppure il "user idnumber" che è una "matricola aribitraria"?

Per la seconda domanda, è probabile che tu abbia creato tutti quegli utenti e che pochi abbiano fatto login tramite Google, associando l'account.

Invece del CSV penso che sia pià semplice fare una replace direttamente sul DB, ad esempio:

UPDATE users
   SET email = CONCAT(LEFT(email, INSTR(email, '@')), 'nuovodominio')
 WHERE email LIKE '%@vecchiodominio';

Da testare su una copia di backup della tabella, ovvero almeno provando prima il valore pronto alla sostituzione:

SELECT CONCAT(LEFT(email, INSTR(email, '@')), 'nuovodominio') email_fixed
  FROM users
 WHERE email LIKE '%@vecchiodominio';

HTH,
Matteo

In riposta a Matteo Scaramuccia

Re: Username obbligatorio con Oauth2

di Riccardo Fantoni -

Grazie, Matteo.

La soluzione che mi proponi è la stessa che mi hanno dato anche nel forum in inglese. 

Ho risolto in quest'altro modo: caricando il file CSV da importa utenti e aggiornando gli utenti interessati. Ho fatto la prova con un solo utente ed è andata a buon fine.

Ho riscontrato un altro dato forse problematico. Nella tabella mdl_user arrivo fino al record 7436 mentre uno degli utenti che voglio modificare ha come id il numero 7832. Tra l'altro ci sono solo utenti con autenticazione Manuale. Tutti quelli con oauth2 non lo trovo.

Hai idea del perché?

Grazie molte

Riccardo


In riposta a Riccardo Fantoni

Re: Username obbligatorio con Oauth2

di Matteo Scaramuccia -

Ciao Riccardo,
questo tuo post è uguale nei contenuti a quello a cui ti ho risposto: un errore o è voluto?

HTH,
Matteo

In riposta a Matteo Scaramuccia

Re: Username obbligatorio con Oauth2

di Riccardo Fantoni -

Ciao Matteo,

Sicuramente non si tratta di una cosa voluta. Mi sono stupito anch'io di ritrovare un duplicato di un post precedente.

In ogni caso, la risposta che mi hai dato è stata più che soddisfacente. Ho risolto sia il problema del cambio mail (personalmente ho trovato più comoda la strada del CSV, avendo già dei file excel con tutti i dati) sia la questione dell'ID.

Grazie 

Riccardo