javascript - signinwithemailandpassword - Usando el botón de inicio de sesión de google con reaccionar
register with email and password firebase (1)
Estoy tratando de usar el inicio de sesión de Google en una aplicación de reacción. Al usar el botón Iniciar sesión, ya que está fuera de la aplicación, funciona bien, cuando lo uso dentro de un componente de Inicio de sesión personalizado no puedo hacer que funcione como se esperaba. Cuando el usuario data-onsuccess
, el botón debe ejecutar un método de data-onsuccess
. El problema es que la ejecución nunca llega a ese método aunque el inicio de sesión funcione.
Probablemente me falta algo de reacción, pero no puedo encontrarlo. ¿Alguna ayuda? Encuentra debajo el html que carga todo y el componente en sí.
<head>
<meta name="google-signin-scope" content="profile email">
<meta name="google-signin-client_id" content="1234-real-client-id.apps.googleusercontent.com">
<script src="https://apis.google.com/js/platform.js" async defer></script>
</head>
<body>
<!-- Here is where everything gets displayed -->
<div id="app"></div>
<!-- The file with the js code -->
<script src="/js/main.js"></script>
</body>
var SignIn = React.createClass({
onSignIn : function (google_user) {
// I want this method to be executed
},
render : function() {
return (
<div className="g-signin2" data-onsuccess={this.onSignIn} data-theme="dark" />
);
}
});
Note que no pegué aquí el código irrelevante;)
Intente agregar la devolución de llamada onSuccess al inicializar el componente en componentDidMount()
.
componentDidMount: function() {
gapi.signin2.render(''g-signin2'', {
''scope'': ''https://www.googleapis.com/auth/plus.login'',
''width'': 200,
''height'': 50,
''longtitle'': true,
''theme'': ''dark'',
''onsuccess'': this. onSignIn
});
},
...
Fuentes: https://developers.google.com/identity/sign-in/web/build-button , https://github.com/meta-meta/webapp-template/blob/6d3e9c86f5c274656ef799263c84a228bfbe1725/app/Application/signIn.jsx