2014-03-06 4 views
0

Meteor에서 API 서버를 ping하려고하는 프로토 타입을 작업하고 있습니다. 서버에 digest-auth가 필요합니다. 나는 PHP와 파이썬에서 거의 아무런 문제없이 그것을 할 수 있었지만 유성에서는 더 어려워졌다.Meteor에서 다이제스트 인증

나는 digest-auth가 challenge-response 인증을 요구하기 때문에 쉽지 않을 것이라는 것을 안다. 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

체크 아웃 사용하여 유성 응용 프로그램에 포함하려면 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은 기본 요청에 인증을 전송하므로 요청이 실패합니다.

은 (유성와 [HTTP-인증]의 [NPM 패키지를 (https://github.com/arunoda/meteor-npm) Npm.require('request');

+0

먼저 'request'가 제대로 작동하는지 확인하기 위해 Google 페이지를 가져 오려고했습니다. 일단 내가 문서 (수정 된 질문 "편집 1"위에 표시된 코드)에서 언급 한대로 다이제스트 인증을 시도했다. 요청이 성공적으로 완료되었음을 어떻게 알 수 있습니까? 설명서에 언급 된 콜백이 없습니다. –