2016-04-03 5 views
2

Ich bin auf der Suche nach einer Möglichkeit, meinen Deepstream-Server verbessern Daten an einen RPC-Endpunkt mit autorisierten Kundendaten gesendet. Ich frage mich, ob es realistisch ist. Wenn ja, wie könnte ich es erreichen?Make Deepstream-Server verbessern Daten kommen zu RPC

Ich kann klar sehen, ich habe Benutzerdaten in canPerformAction Anruf autorisiert. Ich bin mir nicht sicher, wie ich eine Nachricht so modifizieren kann.

Antwort

3

Transform-Funktionen ermöglichen dies.

https://deepstream.io/tutorials/transforming-data.html

Es bietet Ihnen einen Haken zum Einfügen oder Löschen von Daten aus allen eingehenden und ausgehenden Nachricht von deepstream, einschließlich RPC, Ereignisse und Aufzeichnungen.

server.set('dataTransforms', [{ 
    topic: C.TOPIC.RPC, 
    action: C.ACTIONS.REQUEST, 
    transform: function(data, metaData) { 
     if(metaData.rpcName === 'do-something') { 
      // Add user sensitive data to rpc 
      data.userData = confidentialUserData[ metaData.sender ]; 
     } 
     return data; 
    } 
}]); 
+0

Was enthält metaData noch? Wo kann ich darüber lesen? –

+0

In Ordnung, ich habe festgestellt, dass es tatsächlich Daten enthält, die ich auf die Autorisierungsstufe gesetzt habe. –

+0

Sie können Details zu MetaData in der Tabelle "Daten bearbeiten" im Transformations-Lernprogramm sehen – yasserf