2016-10-13 12 views
1

Ich möchte ein JSON-Objekt an einen anderen Server senden, unabhängig von meiner Website.Senden von Daten an einen unabhängigen Remote-Server

Die API, die ich verwende, erfordert, dass sich ein Benutzer (in diesem Fall Benutzer x) bei seinem Dienst anmeldet, damit Benutzer x die Liste von Benutzer x bearbeiten kann. Andere Benutzer können jedoch nicht in die Liste von x schreiben. Die Benutzer müssen also ein Element anfordern, das zur x-Liste hinzugefügt werden soll. Dann kann ein Server, der im Konto von x angemeldet ist, diese zur Liste von x hinzufügen. Siehe das Bild unten.

http://imgur.com/a/wT53t

Ich bin mit Knoten/Express.js für die Server auf der Seite des Benutzers. Allerdings weiß ich nicht, was ich für einen Server verwenden soll, der nur Aufträge erhalten soll und auf die x-Liste schreiben soll. Können Sie mir eine Anleitung geben, wie ich so etwas erreichen kann?

Danke!

Antwort

0

Es gibt zwei Möglichkeiten:

  • Sie haben die Liste in der Echtzeit für angeschlossene Benutzer zu aktualisieren. Um dies zu erreichen, sollten Sie entweder WebSockets (z. B. socket.io) oder LongPolling verwenden.

  • In der zweiten Option müssen Sie die Liste nicht in Echtzeit aktualisieren. Sie verwenden einfach Express. Übernehmen Sie Daten und aktualisieren Sie die Liste serverseitig.

Auth mit Web-Sockets:

Sobald die Art von Web-Sockets zu verstehen, sind Sie um sie herum jede Logik bauen kostenlos, einschließlich der Authentifizierung/Autorisierung. Die große Bibliothek, die viele auth Sachen tut, ist passport.js.

Sehr schnell und abstraktes Beispiel der serverseitigen:

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 } 
}) 

nächstes Mal, wenn Sie autorisierte Benutzer benötigen, können Sie überprüfen:

socket.on('mustBeAuthorized', function() { 
    if(socket.logged || socket.user) { 
    /* Continue your logic*/ 
    } 
}) 
+0

Great! Vielen Dank. Stellen Websockets auch einen Platz für meinen unabhängigen autorisierten Server zur Verfügung? – user82395214

+0

aktualisiert mit Auth-Beispiel – Lazyexpert

+0

Über "unabhängiger Server" wieder, Sie sind frei, irgendeine Logik zu bauen, die Sie wünschen. Web-Sockets sind sehr flexibel. – Lazyexpert