我正在尝试在Firefox中使用oauth2
,我在Google上找到了这个模块:
https://github.com/mozilla/oauthorizer
但是,我不确定如何使用它。
我根据项目的README
尝试了以下内容,
Components.utils.import("resource://oauthorizer/modules/oauthconsumer.js");
然而,它报告了以下错误:
"`组件`在此上下文中不可用。组件提供的功能可能在SDK模块中可用:https://developer.mozilla.org/en-US/Add-ons/SDK但是,如果您仍需要导入组件,则可以使用`chrome`模块的组件属性快捷方式的属性:快捷方式:Cc = Components.classes Ci = Components.interfaces Cu = Components.utils CC = Components.Constructor示例:let {Cc,Ci} = require(' chrome& #39;);"
然后,我尝试了这个:
let {Cu} = require("chrome");
Cu.import("resource://oauthorizer/modules/oauthconsumer.js");
但是我得到了这个错误:
"组件返回失败代码:0x80040111(NS_ERROR_NOT_AVAILABLE) [nsIXPCComponents_Utils.import]"
可能我需要在package.json中设置一些东西?或者有一些特殊的机制来导入外部模块?
非常感谢任何帮助!
答案 0 :(得分:1)
最后,这就是我所做的:(请注意我使用jpm进行插件开发)
npm
安装oauthorizer。在addon的根文件夹中,运行以下命令: npm install oauthorizer --save
index.js
)中添加以下内容:var OAuthConsumer = require("oauthorizer/lib/oauthconsumer.js").OAuthConsumer;
oauthconsumer.js
以更新路径: e.g。将require("sha1")
替换为require("./sha1")
我很确定它是不最佳解决方案,但至少它可行。