2014-12-10 5 views
2

Я построил расширение Chrome, которое отображает текст и когда я нажимаю правой кнопкой мыши и выбираю элемент контекстного меню, он отправляет этот текст в мое приложение Meteor. Это прекрасно работает, однако я не могу понять, как использовать Oauth для аутентификации пользователей.Метеор: аутентификация расширения Chrome через DDP

Я использую этот пакет: https://github.com/eddflrs/meteor-ddp

Вот это JS внутри background.js (для Chrome Extension):

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]); 
     }); 
    }); 

Вот соответствующая часть моего другого файла JS в моем Chrome Расширение:

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

chrome.runtime.sendMessage(snippetString); 
} 

А вот соответствующая часть моего Метеор приложения:

'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, который будет говорить с моим Метеор приложение, чтобы проверить подлинность пользователя

ответ

1

Этот вопрос немного старый, но если кто-нибудь все еще ищет решение. У меня была аналогичная проблема, которую я смог решить, используя следующий плагин: https://github.com/mondora/asteroid. Вот пример того, как это сделать для twitter oauth: https://github.com/mondora/asteroid/issues/41#issuecomment-72334353

Смежные вопросы