【发布时间】:2015-01-30 23:58:17
【问题描述】:
我有以下sn-p的代码:
var myParams = {
'clientid' : 'XXXXX.apps.googleusercontent.com',
'cookiepolicy' : 'single_host_origin',
'callback' : _.bind(function(response){ this._loginGoogleCb(response); }, this),
'scope' : 'https://www.googleapis.com/auth/plus.me https://www.googleapis.com/auth/plus.profile.emails.read',
'requestvisibleactions' : 'http://schemas.google.com/AddActivity'
};
gapi.auth.signIn(myParams);
第一次单击按钮并执行此代码时,没有问题。
但是,当我第二次单击该按钮时,回调(并且只有回调)会被执行两次。
每次执行此代码时,对 Google 服务器(以及相关回调)的请求数都会增加 1。
我仔细检查过,调用函数本身在重复时只会执行一次。
按钮单击本身不是问题。
知道可能是什么问题吗?
【问题讨论】:
-
是否可以为您的页面设置一个小提琴,以查看您所面临的问题到底是什么......或者您如何确认它是对服务器的回调,它随着时间的推移而增加点击..更多代码 sn-p 也会有所帮助..据我所知,当您使用 javascript 进行 Oauth 时,它是一次授权,因此当您第一次进行 Oauth 时,它会显示您的同意屏幕基本上接受或拒绝..从第二次开始弹出仍然出现,但你不需要做任何事情..它会拿起并获取访问令牌..所以每次都会弹出弹出窗口
-
我在这里创建了一个小提琴:jsfiddle.net/g1mjLkgp 但由于来源不匹配,这可能不会有太大帮助。该问题已“解决”,因为用户在注销后总是会返回主页并刷新页面。然而,这是一个可悲的问题解决方案,但它现在解决了。
标签: javascript oauth oauth-2.0 google-plus google-oauth