Sto lavorando per aggiungere un pulsante di accesso a Google a un sito Web. Nei documenti, Google offre due opzioni, un pulsante "base":Pulsante di accesso dell'API di Google: Basic v. Custom
https://developers.google.com/identity/sign-in/web/sign-in
e un pulsante "personalizzato" con signin2.render()
:
https://developers.google.com/identity/sign-in/web/build-button
Il problema che sto incontrando è che i due pulsanti mostrano un comportamento diverso. Se accedo con uno dei due pulsanti, il "titolo" del pulsante cambia da "Accedi" a "Accesso" per riflettere lo stato di accesso. Tuttavia, se ora aggiorno la pagina, il pulsante di base mantiene il titolo "Accesso", mentre il pulsante personalizzato cambia il suo titolo in "Accedi", suggerendo (erroneamente) che lo stato di accesso è cambiato attraverso la pagina ricaricare.
Se controllo manualmente il segno-in stato di post-aggiornamento nella console del browser eseguendo:
auth = gapi.auth2.getAuthInstance()
auth.isSignedIn.get()
ottengo true
come un ritorno, dimostrando che l'aggiornamento in effetti non ha alterato il segno-in stato di , contrariamente al cambiamento nel titolo del pulsante.
Quindi la mia domanda è: come posso ottenere che il pulsante personalizzato si comporti come il pulsante di base, in modo che il titolo non cambi durante l'aggiornamento? Un altro comportamento (correlato, presumo) del pulsante base che mi piace è che il callback "onsuccess" del pulsante viene richiamato su ogni caricamento della pagina (se l'utente è connesso), mentre il pulsante personalizzato non lo fa. Quindi mi piacerebbe anche cambiare questo comportamento sul pulsante personalizzato per abbinare quello del pulsante di base. Ogni suggerimento sarà molto apprezzato!
I parametri sto passando a rendere l'aspetto seguente:
function renderButton() {
gapi.signin2.render('mybutton', {
'scope': 'profile email',
'width': 125,
'height': 40,
'longtitle': false,
'theme': 'light',
'onsuccess': onSuccess,
'onfailure': onFailure
});
}
Grazie, questo funziona come desiderato. Il mio codice differisce nei parametri che sto passando al pulsante (vedi sopra), compresi gli ambiti. Perché questo altera il comportamento? Posso non aggiungere questi ambiti e anche mantenere il titolo del pulsante tramite aggiornamento? C'è un mockup qui: [http://bmudd.github.io/signin/index.html](http://bmudd.github.io/signin/index.html) –
Questo è un bug da parte di Google. Nel frattempo la soluzione alternativa è aggiungere allo
. –Infatti, se si richiede sempre l'e-mail del profilo, utilizzare solo meta tag dovrebbe essere la soluzione migliore (non è necessario aggiungere un parametro di ambito separato nelle chiamate di signIn). –