2016-06-06 1 views
0

Я новый nodejs, В настоящее время я использую rest-client для извлечения данных из службы прокси. Первоначально Используя метод POST для отдыха Клиент, я могу войти в свой прокси-сервер, и я получаю успешный ответ.nodejs restcient аутентификация и выборка данных сеанса

после входа в систему. Я сразу же вызываю метод get (proxy/user/me) для получения данных сеанса, а затем я столкнулся с сообщением об ошибке входа в систему. Как я могу проверять каждый раз перед извлечением других данных с помощью nodejs.

//Example POST method invocation for Login 
//after Login get method invocation 

var Client = require('node-rest-client').Client; 
var client = new Client(); 
var fs = require('fs'); 
var email = "[email protected]"; 
var proxy = "http://google.com"; 
var password = "abcd"; 
// set content-type header and data as json in args parameter 
var args = { 
    data: JSON.stringify({ username: email, password: password }), 
    headers: { "Content-Type": "application/json" } 
}; 

client.post(proxy+"login", args, function (data, response) { 
    //Sucessfully Login message Dis[play with status Code 200 
    console.log(response.statusCode); 
    if (parseInt(response.statusCode) === 200) { 
     //after success I am trying to fetch session Data, 'get' mehode will always shows ,there is no login. 
     client.get(proxy+"user/me", function (sessionData, sessionResponse) { 
      //The second URL for fetching session data always shows { message: "not Login message" }  
      console.log(sessionData, 'Dubt', sessionResponse.statusCode); 
     }); 
    } 
}); 

ответ

0

Вам нужно будет обернуть каждый метод с помощью какой-либо проверки проверки подлинности. Что-то вроде этого:

function wrapAuthentication(fn) { 
    return function() { 
    // Check authentication 
    if(authenticated) { 
     fn.apply(fn, arguments); 
    } 
    } 
} 

function updateUserData() { 
    // Do stuff 
} 

client.post(proxy+"login", args, wrapAuthentication(updateUserData)); 

Вы остальной каркас может поддержать что-то подобное уже.

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