如何从firefox插件验证网站?

时间:2016-03-07 19:01:34

标签: firefox authentication firefox-addon

我是第一次开发一个firefox插件,我希望用户能够使用抽搐,facebook等登录。我知道我必须按照此处所述进行“隐式授权流程”: Twitch-API/authentication

所以我首先要做的是用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]

用户输入名称和密码后,他会被重定向到

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

现在问题是,如何获取访问令牌?据我所知,如果已进入另一个域,我无法访问子窗口的URL。我在整个互联网上搜索了如何通过插件验证网站的解决方案,但我一无所获。非常感谢帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用page-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.jswindow.location.hash令牌。

或者你可以自己处理。这是我喜欢的方式。我创建了一个<xul:browser>元素,让用户与之交互。这是SDK插件不易使用的低级方法。但是,如果你想看到它的实际效果,可以在我的插件中试用 - 版本1.6 - https://addons.mozilla.org/en-US/firefox/addon/nativeshot/versions/