2015-09-17 17 views
7

Ciao sto usando google api per accedere alla mia applicazione web. Ora sta funzionando bene. Ma il problema è che sigin viene avviato automaticamente mentre vado alla pagina di accesso. Ma non lo voglio. Voglio che l'utente faccia clic sul pulsante di accesso prima che inizi il processo.Avvia Google accedi al pulsante clic

Sto usando il pulsante qui sotto

<div class="g-signin2" data-onsuccess="onSignIn"></div> 

e google log in riferimenti.

+0

Hai aggiunto il pulsante "Esci". Ho provato a utilizzare "google-signin" alcuni mesi fa e ha funzionato correttamente. Immagino che tu abbia effettuato l'accesso al tuo account Google mentre stai provando questo. In questo caso, prima devi uscire e poi provarlo. – thegauravmahawar

+0

Come ho detto, funziona bene sul mio flusso attuale. Ma non voglio che l'utente effettui il login automaticamente se prima ha effettuato l'accesso. Voglio iniziare il flusso quando l'utente fa clic sul pulsante. Se in ogni caso quando viene reindirizzato per accedere alla pagina di accesso o di uscita, dovrà fare nuovamente clic sul pulsante di accesso :). Sto usando una sicurezza di primavera nel back-end quindi il mio requisito è un po 'strano ma è quello che è :(. @thegauravmahawar –

+1

È solo un "forse", ma se potessi chiamare la funzione di "disconnessione" quando, come hai detto - "..Io voglio avviare il flusso quando l'utente fa clic sul pulsante" .Così è possibile che quando l'utente fa clic sul pulsante, è possibile chiamare prima la funzione di disconnessione.Non ho mai provato, quindi è solo un'ipotesi Fammi sapere comunque :) – thegauravmahawar

risposta

1

Il modo migliore è usare Java Script per accedere a google come ho scoperto.

uso

script type="text/javascript"> 
     (function() { 
     var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; 
     po.src = 'https://apis.google.com/js/client.js?onload=onLoadCallback'; 
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); 
    })(); 
</script> 

per inizializzare js. E infine chiamare sotto metodo per l'utente di accesso

function login() 
{ 
  var myParams = { 
    'clientid' : 'YOUR_CLIENT_ID.apps.googleusercontent.com', //You need to set client id 
    'cookiepolicy' : 'single_host_origin', 
    'callback' : 'loginCallback', //callback function 
    'approvalprompt':'force', 
    'scope' : 'https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/plus.profile.emails.read' 
  }; 
  gapi.auth.signIn(myParams); 
} 

Utilizzando questo sono stato in grado di risolvere questo problema. Ora l'utente deve fare clic sull'accesso per effettuare il login

+0

puoi dirmi come posso ottenere i dati di google tramite questo processo? Sto usando la funzione di callback per ottenere i dati, ma sto ricevendo questo errore "Funzione di callback denominata" onGoogleLoginSuccess "non trovata". –

+0

@NayyarJamal loginCallback indica il tuo nome metodo lì il metodo verrà chiamato con tutti i valori significa che la tua funzione è sbagliata o la tua funzione non è raggiungibile da questa pagina –

+0

HI abdullah puoi condividere il codice completo per il login google? – nick