【问题标题】:How to authenticate websites from firefox addon?如何从 Firefox 插件验证网站?
【发布时间】:2016-06-21 11:30:39
【问题描述】:

我是第一次开发 Firefox 插件,我希望用户能够使用 twitch、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。我在整个互联网上搜索了如何通过插件对网站进行身份验证的解决方案,但我一无所获。非常感谢您的帮助。

【问题讨论】:

    标签: firefox authentication firefox-addon


    【解决方案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.jsindex.js 发送一条消息,说明令牌是什么,方法是让它发送window.location.hash

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

    【讨论】:

      猜你喜欢
      • 2015-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多