2016-01-18 1 views
1

Je souhaite que l'utilisateur http apparaisse dans la structure de socket pour enregistrer les actions sur l'utilisateur. Comme express:Obtenir l'utilisateur http-auth à partir du socket

app.get('/', function(req, res){ 
//req.user 
}) 

Comment puis-je obtenir l'utilisateur de la prise? Le socket utilise le même serveur http qu'express. Voici le code:

var auth = require('http-auth') 
var basic = auth.basic({ 
    file: __dirname + '/.htpasswd' 
}) 

var express = require('express') 
var app = express() 
var http = require('http') 
var server = http.createServer(basic, app) 

var io = require('socket.io')(server) 

io.on('connection', function(socket) { 
    //Get http user ? 
}) 

Merci :)

+0

Je pense que vous manque option domaine dans la configuration d'authentification de base. – gevorg

Répondre

1
var request = require('request'); 
request('/users', function (error, response, body) { 
    if (!error && response.statusCode == 200) { 

    var users = body.users; 
    io.on('connection', function(socket) { 
      // IO EMIT USERS 
    } 
    } 
}) 

OU ...

io.on('connection', function(socket) { 

    var request = require('request'); 
    request('/users', function (error, response, body) { 
    if (!error && response.statusCode == 200) { 

    var users = body.users; 
      // IO EMIT USERS 
    } 
    }) 
}