Instalé el botón de inicio de sesión de Google en este sitio web que ya tiene inicio de sesión de Facebook. Primero, la biblioteca:
<script src="https://accounts.google.com/gsi/client" async defer></script>Que el botón:
<div id="g_id_onload" data-client_id="myid.apps.googleusercontent.com" data-context="signin" data-ux_mode="popup" data-callback="loginGoogle" data-auto_prompt="false"> </div> <div class="g_id_signin" data-type="standard" data-shape="rectangular" data-theme="filled_blue" data-text="signin_with" data-size="large" data-logo_alignment="left"> </div>Finalmente la función de devolución de llamada.
var loginGoogleRes; function loginGoogle(response) { loginGoogleRes = parseJwt(response.credentials); loginLogar("google"); }Pero todavía queda el analizador jwd...
function parseJwt(token) { var base64Url = token.split('.')[1]; var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/'); var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) { return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); }).join('')); return JSON.parse(jsonPayload); }Y en este punto, el token es nulo, por lo tanto, loginGoogle recibe un valor nulo. Antes de este problema nulo, el botón funciona bien, pedir mi permiso, etc., pero se detendrá aquí. Tal vez algún método asíncrono, también estoy luchando con Dreamweaver que no funciona con métodos asíncronos, además estoy un poco perdido en la documentación de Google, es mi primera vez. ¿Me puedes ayudar?