[英]chrome extension and Facebook login problems
我嘗試編寫一個Chrome擴展程序,該擴展程序是通過訪問某個網站觸發的。 到目前為止,這已經可行。 我的擴展程序用戶來自我的網絡游戲,他們使用自己的Facebook帳戶登錄。 為了用他們的游戲帳戶標識擴展用戶,我需要從我的游戲中了解他們的fb應用范圍用戶ID。
到目前為止,我了解到我的后台腳本無法使用Facebook sdk進行登錄,因為未在內部調用window.fbAsyncInit。 我四處尋找解決方案,發現此頁面: http : //brianmayer.com/2012/12/building-a-chrome-extension-that-connects-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.