我有下面的代碼片段:Google+上的oauth2回調多次觸發
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.
我重複檢查,調用函數本身只在重複時執行一次。
單擊按鈕本身不是問題。
任何想法可能是什麼問題?
是否有可能爲您的頁面添加小提琴,以查看您面臨的問題到底是什麼......或者您如何確認這是服務器的回調,隨着每次點擊而增加......一點點更多的代碼片段也會有所幫助。正如我所知道的那樣,當你使用JavaScript做Oauth時,它是一次授權,所以當你第一次做Oauth時,它會顯示你基本接受或拒絕的同意屏幕。從第二次起,彈出窗口仍然出現,但是你不需要做任何事......它會拾取並獲取訪問令牌。因此彈出窗口每次出現 – 2014-12-05 22:11:40
我在這裏創建了一個小提琴:http://jsfiddle.net/ g1mjLkgp /但這可能不會有太大的幫助,因爲原點不匹配。問題「已解決」,因爲用戶將在退出後始終返回主頁並刷新頁面。然而,這是一個可悲的解決方案,但現在解決了這個問題。 – Trace 2014-12-06 00:24:25