2

我已经构建了一个 Chrome 扩展程序,它可以选择文本,当我右键单击并选择上下文菜单项时,它会将该文本发送到我的 Meteor 应用程序。这很好用,但是,我无法弄清楚使用 Oauth 对用户进行身份验证的过程。

我正在使用这个包:https ://github.com/eddflrs/meteor-ddp

这是 background.js 中的 JS(用于 Chrome 扩展):

var ddp = new MeteorDdp("ws://localhost:3000/websocket");

    ddp.connect().then(function() {
        ddp.subscribe("textSnippets");

        chrome.runtime.onMessage.addListener(function(message) {
            ddp.call('transferSnippet', ['snippetContent', 'tag', snippetString]);
        });
    });

这是我的 Chrome 扩展中的其他 JS 文件的相关部分:

function genericOnClick(info) {
    snippetString = [];
    snippetString.push(info.selectionText);
    var snippetTag = prompt('tag this thing')
    snippetString.push(snippetTag);

chrome.runtime.sendMessage(snippetString);
}

这是我的 Meteor 应用程序的相关部分:

'transferSnippet': function(field1, field2, value1, value2) {
    var quickObject = {};
    quickObject.field1 = value1[0];
    quickObject.field2 = value1[1];

    TextSnippets.insert({
        snippetContent: value1[0],
        tag: value1[1]
    });

}

基本上我被卡住了,不知道如何进行 DDP 调用,该调用将与我的 Meteor 应用程序对话以验证用户身份

4

1 回答 1

1

这个问题有点老了,但如果有人还在寻找解决方案。我有一个类似的问题,我可以使用以下插件解决:https ://github.com/mondora/asteroid 。以下是如何为 twitter oauth 执行此操作的示例: https ://github.com/mondora/asteroid/issues/41#issuecomment-72334353

于 2015-05-06T17:08:31.280 回答