Accesso/Registrazione con Google One Tap

|||
-|-|-|
:discourse: | Riepilogo | Discourse Google One Tap aggiunge il supporto per la registrazione e l’accesso a Discourse tramite Google One Tap.
:hammer_and_wrench: | Link al Repository | https://github.com/discourse/discourse-google-one-tap
:open_book: | Guida all’Installazione | Come installare i plugin in Discourse


Funzionalità

Questo plugin aggiunge il supporto per l’accesso e la registrazione tramite Google One Tap a Discourse. Quando questo plugin è installato e configurato, gli utenti anonimi vedranno un prompt simile a questo:

Da quel prompt, possono utilizzare qualsiasi account Google a cui sono attualmente connessi per registrarsi o accedere (se hanno già un account sul tuo sito con lo stesso indirizzo email) alla tua istanza Discourse.

Configurazione

  1. Assicurati che l’impostazione google_one_tap_enabled sia abilitata

  2. Segui le istruzioni su Setup  |  Web guides  |  Google for Developers per ottenere un ID client e configurare l’aspetto del prompt di accesso/registrazione e della schermata di consenso

  3. Aggiungi l’ID client ottenuto dal passaggio 2 all’impostazione del sito google_oauth2_client_id.

CHANGELOG

Nessuno.

Crediti

Un grande ringraziamento a @ghassan per aver sviluppato la versione iniziale di questo plugin.

27 Mi Piace

Grazie per il fantastico plugin, tuttavia sembra esserci un bug, dove il plugin crea una div invisibile, rendendo impossibile interagire con qualsiasi elemento sottostante.
Crea anche spazio extra sul lato sinistro della pagina su mobile.
Mobile:


Desktop:

1 Mi Piace

In che modo questo differisce dall’accesso Google integrato per il servizio Discourse?

1 Mi Piace

Ciao :wave: Sì, questo plugin ha decisamente bisogno di un po’ di :heart: L’ho testato ieri e ho riscontrato lo stesso problema. Sembra che anche l’iframe di Google nella modale di accesso/registrazione abbia dei problemi. Sembra che l’allineamento e lo stile non siano gli stessi degli altri pulsanti social e se apro la modale di accesso e poi passo a quella di registrazione, il pulsante di Google non viene visualizzato.

Ciao Don, potresti per favore approfondire con maggiori informazioni e magari qualche screenshot? Sono riuscito a farlo funzionare localmente:

Tuttavia, in modalità incognito riscontro lo stesso problema:

Ci potrebbero essere molte ragioni per questo; una ad esempio è il “raffreddamento esponenziale” aggiunto da Google:

Potrebbe esserci un modo per rilevare che non è stato caricato correttamente, ma almeno in Chrome l’elemento con “Accedi a localhost con google.com” non è nemmeno un elemento della pagina. Forse possiamo usare questo?

google.accounts.id.prompt((notification) => {
    console.log(notification)
});

Questo PR dovrebbe risolvere il problema. @Osama Ho rimosso alcuni stili CSS. Puoi controllarlo quando hai tempo?


3 Mi Piace

Grazie per un ottimo plugin, è esattamente quello che stavo cercando.
Ma il plugin è compatibile anche con le ultime modifiche “Chrome third-party cookie deprecation starts Q1 2024”. Ecco maggiori informazioni sulla migrazione a FedCM richiesta.

Un’altra osservazione.

La funzionalità è molto simile, potrebbe essere combinata con il login nativo di Google che Discourse ha già, in modo che la schermata di accesso non abbia due caselle “Accedi con Google”?

1 Mi Piace

Sembra che nessuno ti abbia risposto @nathank, quindi risponderò io con quella che credo sia sia la risposta che forse una domanda?

Penso che questo “one-tap” sia ciò che viene comunemente visto come il prompt di creazione dell’account Google quando si accede a un sito, ad esempio così:

Credo che la differenza principale tra questo e il supporto nativo per l’autenticazione di Google sia che questo si attiva quando qualcuno accede a una pagina piuttosto che un utente che trova la propria strada verso il prompt di accesso/registrazione.

1 Mi Piace

Apprezzo molto che tu abbia risposto alla mia domanda un po’ datata!!

Se è così semplice (e sembra che lo sia), perché non integrare la funzionalità di questo plugin nel core??

2 Mi Piace

Sì, sono d’accordo, o rendilo un’opzione nel core. Questo è un modo abbastanza ben riconosciuto per aumentare le registrazioni e ridurre l’attrito nell’onboarding: gli utenti hanno familiarità con questa esperienza.

1 Mi Piace

Quella soluzione presentava (o presentava) alcuni problemi che rendevano l’accesso effettivamente più difficile e appariva disordinata sui dispositivi mobili. Mi dispiace, questa è una risposta davvero inutile, perché non ricordo più quali fossero i problemi per cui l’ho disabilitata, anche se la maggior parte delle persone qui in Finlandia utilizza Gmail.

Bump, l’ho notato anche io.

Non utilizzare quel login Google “ordinario”. Non è più difficile. Li ho mantenuti entrambi, perché un solo tocco non è attivo in tutte le situazioni.

Esatto, ma non voglio scegliere tra avere due pulsanti ridondanti o nessuno in alcune situazioni. :slight_smile:

Contatterà involontariamente i server di Google per chiunque tenti di accedere/registrarsi al caricamento iniziale della pagina.

  1. Naviga su Admin → Personalizza → Temi → CSS/HTML.
  2. Apri l’editor CSS per il tuo tema attivo.
  3. Aggiungi il seguente codice alla sezione CSS:
div#google_one_tap.btn-social {
    display: none !important;
}
  1. Salva le modifiche.
  2. Aggiorna la pagina per assicurarti che il pulsante non sia più visibile.
2 Mi Piace