我开始玩反应,现在想为我的应用创建一个谷歌登录。
我已经使用谷歌注册了我的应用程序,并允许我的localhost:3000用于此应用程序。
根据我在google文档中发现的内容,我创建了一个组件来呈现按钮并处理回调。 但是当我使用我的帐户登录时,按钮上的文本将更改为“已登录”,但不会执行成功回调。 当我刷新页面时,会调用回调。
以前有人遇到过类似的问题吗?
以下是我的组件的代码
onSignIn(googleUser) {
var profile = googleUser.getBasicProfile();
console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.
console.log('Name: ' + profile.getName());
console.log('Image URL: ' + profile.getImageUrl());
console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present.
}
handleFail(error){
console.log('login failed');
}
componentDidMount() {
gapi.signin2.render('g-signin2', {
scope: 'profile email',
width: 200,
height: 50,
longtitle: true,
theme: 'dark',
onsuccess: this.onSignIn,
onfailure: this.handleFail
});
gapi.load('auth2', function() {
gapi.auth2.init();
});
}
render() {
return (
<div id="g-signin2" className="g-signin2" />
);
}