簡體   English   中英

chrome擴展程序和Facebook登錄問題

[英]chrome extension and Facebook login problems

我嘗試編寫一個Chrome擴展程序,該擴展程序是通過訪問某個網站觸發的。 到目前為止,這已經可行。 我的擴展程序用戶來自我的網絡游戲,他們使用自己的Facebook帳戶登錄。 為了用他們的游戲帳戶標識擴展用戶,我需要從我的游戲中了解他們的fb應用范圍用戶ID。

到目前為止,我了解到我的后台腳本無法使用Facebook sdk進行登錄,因為未在內部調用window.fbAsyncInit。 我四處尋找解決方案,發現此頁面: http : //brianmayer.com/2012/12/building-a-chrome-extension-that-c​​onnects-to-a-facebook-app/

他打開了一個包含iframe的不可見標簽。 在iframe中,他從網絡服務器調用Facebook登錄sdk,然后將帶有windows.postmessage的用戶數據發送給父級。 這聽起來像是解決我的問題的完美解決方案。 我不明白,我只需要在其中添加一行:

parent.postMessage({connectStatus:"" + response.status + "", userID:"" + uid + "", accessToken:"" + at + ""}, "https://www.<PARENT_PAGE_DOMAIN>"); //This MUST match the root domain where the iFrame will be inserted, or the message won't get passed

我必須在PARENT_PAGE_DOMAIN字段中添加什么? 我使用清單文件的content_scripts / maches中頁面的根域,並且使用了托管iframe頁面的域,但是我從未在后台腳本中收到消息

你試過用這個嗎? 在此處輸入鏈接說明

首先,您需要獲取重定向網址 獲取重定向網址 這是我的代碼:

chrome.identity.launchWebAuthFlow({
    url: AUTH_URL,
    interactive: true
  }, function(redirectURL) {
    if (chrome.runtime.lastError) {
      alert(chrome.runtime.lastError.message);
    }
    if(redirectURL){
      var q = redirectURL.substr(redirectURL.indexOf('#')+1);
      var parts = q.split('&');
      for (var i = 0; i < parts.length; i++) {
        var kv = parts[i].split('=');
        if (kv[0] == 'access_token') {
          var token = kv[1];
          console.log(token)
          // do something...
        }
      }
    }
  });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM