如何在两个node.js服务器之间设置基于令牌(或其他经过身份验证的)连接?

时间:2014-03-21 21:21:50

标签: javascript node.js authentication client token

js gurus,

我正在创建我的第一个node.js服务器/客户端报告应用。它通过其他API收集数据以保持我使用的Web服务的脉搏,如CloudFlare.com,UptimeRobot.com等。此外(我需要帮助的地方),我想将我的本地报告node.js服务器连接到我的生产node.js服务器,它将按时间间隔报告CPU负载和可用内存。

从生产服务器开始,这是我到目前为止所拥有的:

(function(){
    var status = {load: 0.9, usedMem: 0.5}; //contians this machine's memory usage and average CPU loads, just some basic values here to get things started, no assistance needed with getting those values


    ///////////////////////////////////
    //socket server
    ///////////////////////////////////
    var app = require('express')()
        , server = require('http').createServer(app)
        , io = require('socket.io').listen(server);

    server.listen(3000);

    io.sockets.on('connection', function (socket) {
        socket.emit('status', status); //NOT SO FAST! I need to authenticate before giving away this stuff!!!
    });
})();

这里是'客户端'(虽然客户端将是服务器,它收集并将此数据和其他数据传送到实际的浏览器客户端):

(function(){
    var socket = io.connect('http://localhost:3000'); //too easy, right?
    socket.on('status', function (data) {
        console.log(data);
    });
})();

在生产环境中实际使用它会让我感到害怕。关于如何“简单地”收紧这个问题的任何想法?在大多数情况下,只有一台其他机器将/应该有权访问生产服务器的nod​​e.js服务器。但是,我可能需要为少数人设置访问权限才能最终访问报告服务器。

提前感谢您提供任何提示和指示。我真的很感激。

0 个答案:

没有答案