0

У меня есть этот простой узел приложение работает веб-сервер, используя выразить и базового Auth-подключения.Как получить IP пользователя, используя базовую-авторизации-подключения и выразить

Я знаю, что я могу получить IP-адрес клиента на app.get (...), используя что-то вроде

вар ф = req.headers [ 'х-пересылаются-за'] || req.connection.remoteAddress;

Но если аутентификация HTTP не удается не попасть ::

var express = require('express'); 
var app = express(); 
var basicAuth = require('basic-auth-connect'); 

app.set('port', (process.env.PORT || 5000)); 

app.use(basicAuth(function(user, pass){ 
    authState = 'someUserName' == user && 'somePassword' == pass; 
    console.log(user, pass, authState); 

    // NEED the IP here ...   

    return authState; 
})); 

app.get('*', function(req, res) { 
    var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; 
    console.log(ip); 

    res.sendFile(__dirname + '/'); 
}); 

app.listen(app.get('port'), function() { 
    console.log('Node app is running on port', app.get('port')); 
}); 
+0

вы можете получить он использует только экспресс; http://stackoverflow.com/questions/10849687/express-js-how-to-get-remote-client-address –

ответ

0

Просто нашел простое решение, я добавил еще один экспресс межплатформенного до AUTH:

app.use(function (req, res, next) { 
    var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; 
    console.log(ip); 
    next(); 
});