Estoy implementando el inicio de sesión de Google en mi proyecto Nuxtjs y response_type:'code' no funciona ni en ux_mode:'popup' ni en ux_mode:'redirect' en ambos modos cuando compruebo que la url reponse_type es igual al permiso, no al código, aunque He especificado que debe ser código, en modo emergente, la ventana emergente se cierra y devuelve la ventana emergente cerrada por error del usuario y en modo de redirección si cambio el tipo de respuesta a código en la URL, entonces todo funciona bien, por lo que solo necesita ser código para que todo funcione.
Aquí está mi código de inicio de sesión de Google:
<button role="button" class="btn-social" @click.stop="signInWithGoogle()"> <img src="~/assets/icons/google.svg" alt="" class="lg:block hidden"> With Google </button>el método:
signInWithGoogle() { gapi.auth2.getAuthInstance().signIn(); }y la inicialización:
gapi.load('client:auth2', () => {// callback function}); gapi.client.init({ clientId: process.env.GOOGLE_CLIENT_ID, discoveryDocs: ['https://www.googleapis.com/discovery/v1/apis/oauth2/v2/rest'], scope: 'profile email', ux_mode: 'popup', redirect_uri: 'http://lvh.me:8000/googleRedirect', response_type: 'code', access_type: 'offline', include_granted_scopes: true, prompt: 'select_account', }); })nota: He agregado URL y redirección de URL en mi consola de Google para que no haya un error de discrepancia de URI de redirección.