Tengo una aplicación Vue/Django que me gustaría iniciar sesión con Google. Mi código está a continuación:
Inicialización de la API de Google:
import { gapi } from "gapi-script"; gapi.load("client:auth2", () => { gapi.client.init({ clientId: '887210531667-lvd6kkdqmei6c5uavr5eaa6k0lfj99tr.apps.googleusercontent.com', scope: 'profile email', prompt: 'select_account' }); });Iniciar sesión llamar a Google:
loginWithGoogle () { gapi.auth2.getAuthInstance().signIn() .then( user => { console.log('Login successfull') }, err => { console.log('Login error') } ) gapi.auth2.getAuthInstance().isSignedIn.listen((isSignedIn) => { console.log('isSignedIn: ' + isSignedIn) }) },Después de la llamada de inicio de sesión, aparece una ventana emergente y selecciono mi usuario; después de eso, no se muestra ninguna página adicional en la ventana emergente (espero ver qué información se muestra en las solicitudes de la aplicación). Y la llamada da como resultado el error 'pop_up_closed_by_user'. ¿Qué tiene de malo mi enfoque?
El parámetro ux_mode al inicializar el cliente popup debe configurarse para que aparezca como se muestra a continuación.
gapi.load("client:auth2", () => { gapi.client.init({ clientId: '887210531667-lvd6kkdqmei6c5uavr5eaa6k0lfj99tr.apps.googleusercontent.com', scope: 'profile email', prompt: 'select_account', ux_mode: 'popup' }); });Entonces funcionó.