1

機能しているChrome拡張機能があり、Firebase認証(Google & Facebook)を追加しようとしています。Chrome拡張機能の認証にFirebaseを使用すると空白のポップアップが表示される

フルブラウザウィンドウからポップアップを実行すると、私はGoogleとFacebookのポップアップを期待通りに得ることができます。

クリックしてポップアップを開き、GoogleまたはFacebookのログインを選択すると、About:空白のポップアップが表示されます(開いていることもあれば、点滅して消えることもあります)。

奇妙なこと: 私は拡張機能のアイコンをクリックしてポップアップを開く場合は、開発ツールを公開して、ポップアップで開いたコンソールを保つために右クリックし、[GoogleやFacebookのをクリックし、ポップアップとして開きますあなたは期待して、私はログインすることができます。

以下のマニフェスト... Firebase(https://github.com/firebase/quickstart-js/tree/master/auth/chromextension)の詳細な例と一致させようとしました。

トラブルシューティングの考え方や方法はありますか?

{ 

"manifest_version": 2, 

"name": "Annotate PRO for Chrome", 
"short_name": "Annotate PRO", 
"description": "Right-click access to a pre-written library of comments. Write it once, to perfection, and reuse forever!", 
"version": "3.1.1.0", 

"permissions": [ 
    "identity", 
    "identity.email", 
    "clipboardWrite", 
    "clipboardRead", 
    "activeTab", 
    "tabs", 
    "contextMenus", 
    "storage", 
    "webNavigation" 
], 

"content_security_policy": "script-src 'self' https://ssl.google-analytics.com; object-src 'self'", 

"externally_connectable": { 
    "matches": ["http://*.11trees.com/*"]}, 

    "commands": { 
     "_execute_browser_action": { 
     "suggested_key": { 
      "windows": "Alt+A", 
      "mac": "Alt+A", 
      "chromeos": "Alt+A", 
      "linux": "Alt+A" 
     } 
     } 
    }, 

"key": "XXXX", 

"oauth2": { 
    "client_id": "XXXX", 
    "scopes": [ 
     /*"https://www.googleapis.com/auth/chromewebstore.readonly",*/ 
      "https://www.googleapis.com/auth/userinfo.email", 
     "https://www.googleapis.com/auth/userinfo.profile" 
     ] 
    }, 

"background": { 
    "scripts": ["/dscripts/jquery-3.1.1.min.js","/scripts/background.js"]}, 


"content_security_policy": "script-src 'self' https://ssl.google-analytics.com https://apis.google.com/ https://www.gstatic.com/ https://*.firebaseio.com https://www.googleapis.com; object-src 'self'", 

"content_scripts": [ 
    { 
    "all_frames" : true, 
    "matches": ["http://*/*","https://*/*"], 
    "js": ["/scripts/content.js"] 
    } 
], 

"web_accessible_resources": ["/scripts/insertcomment.js"], 

"icons": { 
      "16": "Annotate16.png", 
      "48": "Annotate48.png", 
      "128": "Annotate128.png" 
     }, 

"browser_action": { 
    "default_icon": { 
     "19": "Annotate128.png", 
     "38": "Annotate128.png" 
    }, 
    "default_title": "Annotate PRO for Google Chrome", 
    "default_popup": "aHome.html" 
} 

} 

答えて

2

これは一種の埋葬、とChrome/Firebaseによって提供された例では強調表示されません...しかし、ここに答えがありますされた:

のみポップアップ操作(signInWithPopupとlinkWithPopupは)が利用できる ますChrome拡張機能は、HTTP リダイレクトを使用できません。認証ポップアップは ブラウザアクションポップアップをキャンセルするので、ブラウザアクションポップアップではなく、バックグラウンドスクリプト ではなく、これらのメソッドを呼び出す必要があります。

は、私は私のbackground.jsページにFirebaseの証券コードを追加し、マニフェスト(firebase.js拡張にパッケージされている)のバックグラウンドスクリプトセクションにfirebase.jsを追加しました。

"background": { 
    "scripts": ["/dscripts/jquery-3.1.1.min.js","/dscripts/firebase.js","/scripts/background.js"]}, 

https://firebase.google.com/docs/auth/web/facebook-login

から
関連する問題