将数据发送到独立的远程服务器

时间:2016-10-13 06:32:45

标签: node.js express

我想将json对象发送到另一台服务器,与我的网站无关。

我使用的API要求用户(在这种情况下为用户x)登录其服务以获得授权,以便用户x可以操作用户x的列表。但是,其他用户无法写入x列表。因此,用户需要请求将项目添加到x列表中,然后登录到x帐户的服务器可以将其添加到x列表中。请参阅下图。

http://imgur.com/a/wT53t

我正在使用node / express.js作为用户端的服务器。但是,我不知道我应该为服务器使用什么,他们唯一的工作就是接收请求并写入x的列表。你能否提供一些关于我如何能达到这样的目标的指导?

谢谢!

1 个答案:

答案 0 :(得分:0)

这里有两个选项:

  • 您必须实时刷新连接用户的列表。 要实现此目的,您应使用:WebSockets(例如socket.io)或LongPolling

  • 在第二个选项中,您不必实时刷新列表。你只需使用快递。接受数据并刷新列表服务器端。

使用网络套接字

验证

了解了Web套接字的本质后,您可以自由地构建任何逻辑,包括身份验证/授权。执行大量身份验证的伟大图书馆是passport.js

服务器端非常快速和抽象的例子:

socket.on('auth', function(data) {
  const vendor = data.vendor,
      token = data.id

  switch(vendor) {
    /* 
      Here you grab through some social API user social id 
      and save it to database
    */
  }

  /* set socket as logged in */
  socket.logged = true 

  /* or even save user object */
  socket.user = { vendor, token }
})

下次需要授权用户时,请检查:

socket.on('mustBeAuthorized', function() {
  if(socket.logged || socket.user) {
     /* Continue your logic*/
  }
})
相关问题