2016-03-07 41 views
1

我正在開發第一次使用firefox插件,我希望用戶能夠通過抽搐,臉書等登錄。我知道我必須按照此處所述執行「隱式授權流程」: Twitch-API/authentication如何從Firefox插件驗證網站?

因此,我首先要做的是在用戶輸入名稱和密碼後,他被轉到

http://[your registered redirect URI]/#access_token=[an access token] 

現在的問題是,如何打開一個新窗口的URL

https://api.twitch.tv/kraken/oauth2/authorize 
?response_type=token 
&client_id=[your client ID] 
&redirect_uri=[your registered redirect URI] 
&scope=[space separated list of scopes] 

我能得到訪問令牌嗎?據我所知,如果它進入了另一個域,我無法訪問子窗口的URL。我搜索了整個互聯網尋找解決方案,如何通過插件認證網站,但我什麼也沒找到。非常感謝幫助。

回答

1

您可以使用頁面MOD注入一個腳本到該模式匹配的頁面:

http://[your registered redirect URI]/**#**access_token - https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/page-mod

你可以有page-mod發送一條信息給你main.js或什麼index.js令牌是通過發送window.location.hash

或者您可以自己處理它。這是我喜歡這樣做的方式。我創建了一個<xul:browser>元素,並讓用戶與之交互。這是一種低級別的方法,SDK插件不易使用。但是,如果你想看到它的行動,你可以在我的插件在這裏嘗試 - 版本1.6 - https://addons.mozilla.org/en-US/firefox/addon/nativeshot/versions/