2014-03-06 74 views
0

我正在使用流星原型,在那裏我試圖ping API服務器。該服務器需要digest-auth。我能夠在php和python中完成它,幾乎沒有問題,但流星中證明它更困難。流星中的摘要式身份驗證

我知道這並不容易,因爲digest-auth也需要挑戰 - 響應認證。考慮到Meteor沒有產品發佈,我們可以進行認證嗎?我可以用一些node.js包做到嗎?

任何幫助或鏈接到任何在線資源將非常有幫助。

編輯1: 使用request作爲問,我怎麼知道該請求成功完成後?

var request = Npm.require('request'); 
var res = request.get('http://example.com/path/to/service', { 
    'auth': { 
     'user': 'username', 
     'pass': 'password', 
     'sendImmediately': false 
    } 
}); 
+0

檢查出[NPM包(https://github.com/arunoda/meteor-npm)流星和[HTTP-AUTH]( https://www.npmjs.org/package/http-auth)節點模塊。 – sbking

+0

@Cuberto我認爲問題在於提出請求(作爲客戶端),而不是啓用流星服務器接受摘要身份驗證。 http-auth是否也啓用具有摘要的請求? Jehanzeb.Malik:請確認。 –

+0

@ChristianFritz不會從服務器腳本運行API調用。有一個後臺工作人員需要每2小時ping一次服務器以獲取更新的信息。登錄後的API給出一個3分鐘的窗口來獲取數據。 –

回答

0

您應該能夠使用節點request框架:

摘要式身份驗證的支持,但它僅與 sendImmediately設置爲false工程;否則request將在初始請求上發送基本的 認證,這可能會導致 請求失敗。

把它列入您的流星應用程序中使用Npm.require('request');

+0

我第一次嘗試抓取谷歌頁面來檢查'請求'是否正常工作。一旦確認,我嘗試了文檔中提到的摘要身份驗證(上面的代碼顯示在更新後的問題「編輯1」中)。我如何知道請求已成功完成?文檔中沒有提到回調。 –