我正在尝试在我的主干js应用程序中使用google +登录。 用户流程是

  1. 用户单击登录按钮
  2. 这将打开带有Google+登录按钮(以及Facebook登录等)的引导程序(thttp://twitter.github.io/bootstrap/)模式。
  3. 用户必须明确点击g +登录按钮才能登录到我的网站。

为了防止自动g +登录,我要做的是显示一个自定义g +登录按钮,然后单击onclick,我将“ gapi.signin.render” api与该自定义登录按钮一起用作容器。 第一次单击登录按钮时,此方法运行良好,但是如果用户注销并尝试重新登录,则第一次单击时什么也没有发生,但是在第二次单击时,g +登录被触发两次,每次用户注销时,其加1并重新登录。每次仅在第二次点击时触发g +登录。 请注意,我的应用程序是单页应用程序,因此在注销和登录之间没有重新加载。 如果我重新加载该站点,则它会在第一次运行,并且问题再次出现在以后的登录中。

注意:每次成功登录后,都会删除用于显示g +登录按钮的modal(及其DOM),并在用户每次单击主登录按钮时重新创建。 我注意到,成功登录后,由g +登录按钮创建的iframe仍然存在,并且在我再次重新创建模态并调用“ gapi.signin.render” api调用时可能会有所干扰。

我使用的代码是

在主干视图中,render方法具有

render: function() {
        var thisV = this;
        _.defer(function(){
            gapi.signin.render('gSignIn', {
              'callback': thisV.gPlusLoginCB,
              'clientid': "clientID",
              'requestvisibleactions': "http://schemas.google.com/AddActivity",
              'scope': "https://www.googleapis.com/auth/plus.login",
              'theme': 'dark',
              'cookiepolicy': "single_host_origin"
            });
        });
    }

在html模板中

<button id="gSignIn" class="btn gplogin">
      <i class="icon-google-plus"></i>Login
</button>

是否对为什么G +登录呼叫排队或如何实现我的方案有任何想法?

谢谢

===============>>#1 票数:0

我不知道您为什么会看到多次身份验证尝试的任何原因。

您可以在看到此行为的地方张贴一个最小的代码示例吗?

根据您的描述进行猜测,您是否将g-signin按钮的自定义渲染与gapi.signin.render混合在一起? 例如,使用以下命令呈现自定义按钮:

<span id="signinButton">
  <span
    class="g-signin"
    data-callback="signinCallback"
    data-clientid="CLIENT_ID"
    data-cookiepolicy="single_host_origin"
    data-requestvisibleactions="http://schemas.google.com/AddActivity"
    data-scope="https://www.googleapis.com/auth/plus.login">
    <!-- Custom button markup -->
  </span>
</span>

然后调用例如:

gapi.signin.render('signinButton', {
      //'callback': 'signinCallback',
      'clientid': 'CLIENT_ID',
      'cookiepolicy': 'single_host_origin',
      'requestvisibleactions': 'http://schemas.google.com/AddActivity',
      'scope': 'https://www.googleapis.com/auth/plus.login'
    });
  }

===============>>#2 票数:0 已采纳

抱歉,这么晚了。 我只是有完全相同的问题。

当我将options对象的创建从函数中移出时,一切工作正常:

var options = {
                  'callback': thisV.gPlusLoginCB,
                  'clientid': "clientID",
                  'requestvisibleactions': "http://schemas.google.com/AddActivity",
                  'scope': "https://www.googleapis.com/auth/plus.login",
                  'theme': 'dark',
                  'cookiepolicy': "single_host_origin"
                }

/**

/**

/**

    render: function() {
            var thisV = this;
            _.defer(function(){
                gapi.signin.render('gSignIn', options );
            });
        }

  ask by mzafer translate from so

未解决问题?本站智能推荐:

2回复

Google Plus登录

场景:通过Google+登录到应用 实现方式: 注意- (BOOL)application: (UIApplication *)application openURL: (NSURL *)url sourceApplication:(NSString *)sourceApplica
1回复

通过Google Plus登录

我正在开发使用Google Plus可以选择“登录”的应用程序。 我在这里找到了教程。 是的,它为我工作。 问题是它使用了已经在设备中配置的google帐户。 我想要提供Google帐户用户名和密码的过程,并从Google获得类似于Facebook或Twitter的响应。 提前致谢
3回复

通过Google Plus或Google登录

Google提供了两种OAuth签名。 一个用于google plus,另一个用于google(gmail?) 在为我的网络应用选择一个之前。 我对此有一些疑问。 用户可以在未激活Google Plus帐户的情况下使用Google Plus登录来登录吗?
1回复

Google Plus分享和使用Google Plus登录后消失了

我已经在我的网站上使用google plus登录了。 它运行良好,并根据官方教程( https://developers.google.com/+/web/signin/ )进行了实现 几个星期前,相应的js客户端在官方网站上被作为示例进行了编码。 同时,我在Google+上的分享按
4回复

Google-plus登录

我需要google plus登录我的应用程序,我登录所有版本,除了Lolly pop。 谷歌加上我的应用程序登录的程序是什么? 请给我回复实际程序是什么... 这是我到目前为止所做的代码......
1回复

Google Plus登录授权错误

我正在使用google plus ruby快速入门将“使用google登录”添加到小型sinatra应用程序中。 我能够成功请求客户端的授权代码,但是将令牌交换代码的请求失败。 我已用示例存储库中的代码替换了我所有应用程序的代码,但收到相同的错误。 错误 我知道在Signet
1回复

使用Google plus登录Codeigniter

尝试在localhost上登录我的网站时出现此错误: 提前致谢!
1回复

通过Google Plus API登录

我正在尝试收集我的用户注册我的网站时的数据。 我在请求时要求以下范围 然后,我首先尝试通过使用上一步中获得的访问令牌向https://www.googleapis.com/oauth2/v1/userinfo?access_token=发出GET请求,来获取用户的电子邮件ID和go
2回复

Android Google plus登录按钮

按照Google Sign Button ,我在我的Android设备上实现了它。 点击按钮后会显示一个弹出窗口,询问您的许可: 了解您在Google上的身份。 怎么办? 看起来这对我没有任何帮助。 它不提供access_token或任何用户数据。 到底有什么好处呢?
2回复

使用Google Plus进行Android登录

我一直在关注本教程。 http://www.androidhive.info/2014/02/android-login-with-google-plus-account-1/ 但是,当我通过真实设备测试该应用程序时,当我单击“登录”按钮时,会出现一个吐司,说“发生内部错误” 你能