2013-05-09 2 views
1

저는 node.js를 처음 사용합니다. GET 후 POST 요청을하려고합니다. 아이디어는 일단 사용자가 홈페이지를 조회하면 해당 사용자를 salesforce로 리디렉션하고 OAUth 댄스를하고 싶습니다. expressJS와 mikeal의 요청을 사용하고 있습니다. 지금까지 가지고있는 코드입니다.ExpressJS/Request - GET 후 POST 요청하기

server.get('/', function(req, res){ 

var client_id = "xxx"; 
var client_secret = "xxx"; 
var redirect_uri = "https://192.168.233.105:8000/callback"; 
var grant_type = "authorization_code"; 


var remotereq = request.post('https://na1.salesforce.com/services/oauth2/token').form(

{"client_id":client_id, 
"client_secret":client_secret, 
"redirect_uri":redirect_uri, 
"grant_type":grant_type, 
"immediate":'true' 
} 

); 


//How do I get the expressJS res object to use the remotereq object? 

}); 

홈 페이지를 클릭하면 요청이 중단됩니다. 어떻게 든 mikeal/request 객체로 훌륭하게 연주 할 expressJS 응답 객체를 얻어야한다고 생각합니다. 이 둘을 어떻게 연결합니까?

+1

문제를 스스로 해결하려면 [node-salesforce] (https://github.com/stomita/node-salesforce#authorization-request) 또는 [passport-forcedotcom] (https : //github.com/joshbirk/passport-forcedotcom). 그렇지 않으면, 나는 당신의 의도가 무엇인지 완전히 확신하지 못합니다. 'request.post'의 결과를'remotereq.pipe (res)'를 사용하여 응답에 파이프 할 수는 있지만, 그 목적을 잘 알지 못합니다. – robertklep

+0

@robertklep 기존 툴에 대한 팁을 주셔서 감사합니다. 기본적으로 사용자가 홈페이지를 조회하자마자 salesforce 엔드 포인트에 POST 요청을 발행합니다. –

+0

그리고 그 요청의 결과를 클라이언트에게 보냅니 까? 그렇다면 파이프가 충분해야합니다. – robertklep

답변

3

파이프 할 수 request.post 직접 res의 결과 :

remotereq.pipe(res); 

모든 원본 헤더를 포함, 그대로 클라이언트에 결과를 보낼 것입니다.