So che non tutti i provider forniscono l'indirizzo email dell'utente, ma supponendo che utilizzino oauth2 e il campo dell'email non sia vuoto, posso dire che l'indirizzo email deve essere verificato?L'indirizzo email non può essere verificato in oauth2?
risposta
Utilizzando OAuth 2.0 semplice (oltre alle estensioni specifiche del provider che sarebbero necessarie per questo scenario), ciò non è possibile in modo generico. Usando OpenID Connect, che è un'estensione standardizzata di OAuth 2.0 che fornisce semantica di accesso, ciò è possibile attraverso la richiesta standardizzata email_verified
che viene fornita come parte del cosiddetto token ID e qualcosa può essere richiesto esplicitamente nella richiesta di autenticazione.
Naturalmente è possibile. Per prima cosa avresti un modulo intermedio che verrebbe reindirizzato da qualsiasi provider e compila i campi, inclusa la posta elettronica se disponibile, se non disponibile, quindi sarà vuoto affinché l'utente compili e invii il modulo. Devi strutturare la tua applicazione in modo che se un campo di un indirizzo email è disponibile e non vuoto e un'e-mail valida lo compaia nel campo e permetta all'utente di inviare il modulo, allora invierai l'email di verifica e effettuerai qualsiasi altra operazione che vuoi quando un utente crea un account.
Vorrei separarlo in eventi e generare eventi quando viene creato un account utente. Quindi allegare alcuni listener per ascoltare l'evento creato dall'account utente.
È quindi possibile creare nuovi listener di eventi e collegarli all'evento in base alle esigenze.
Alcuni buoni video su Comandi e di dominio eventi sono disponibili su Laracasts https://laracasts.com/series/commands-and-domain-events