Estoy creando un botón "Iniciar sesión con Google" en mi aplicación usando la API de Google y la guía oficial, pero me quedé atascado al descifrar las credenciales enviadas por Google como respuesta al iniciar sesión con Google. Recibo este error: Error Uncaught SyntaxError: Cannot use import statement outside a module
Este es el archivo del formulario:
<script src="https://accounts.google.com/gsi/client" async defer></script> <div id="g_id_onload" data-client_id="*********************************************" data-callback="handleCredentialResponse" data-auto_prompt="false" > </div> <div class="g_id_signin" data-type="standard" data-size="large" data-width="400" data-theme="outline" data-text="sign_in_with" data-shape="rectangular" data-logo_alignment="left"> </div>
Y un archivo js login.js que se ocupa de la respuesta:
import * as jose from '../vendor/jose-main/src/index.ts'; function handleCredentialResponse(response) { const { payload, protectedHeader } = await jose.jwtDecrypt(response.credential, secretKey, { issuer: 'urn:example:issuer', audience: 'urn:example:audience' }) console.log(payload); console.log(protectedHeader); // decodeJwtResponse() is a custom function defined by you // to decode the credential response. //const responsePayload = decodeJwtResponse(response.credential); // // console.log("ID: " + responsePayload.sub); // console.log('Full Name: ' + responsePayload.name); // console.log('Given Name: ' + responsePayload.given_name); // console.log('Family Name: ' + responsePayload.family_name); // console.log("Image URL: " + responsePayload.picture); // console.log("Email: " + responsePayload.email); }
Alguien sabe como solucionar este problema?