Google登录按钮仅响应呼叫成功功能页面重新加载

时间:2018-04-05 09:56:23

标签: reactjs google-signin

我开始玩反应,现在想为我的应用创建一个谷歌登录。

我已经使用谷歌注册了我的应用程序,并允许我的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" />
    );
}

0 个答案:

没有答案