2016-04-03 6 views
2

私は、ディストリビューションサーバーが許可されたクライアントデータを使用してRPCエンドポイントに送信されるデータを強化する方法を模索しています。私はそれが現実的かどうか疑問に思います。はいの場合はどうすれば達成できますか?ディープストリームサーバーによるRPCへのデータの拡張を実現

canPerformAction呼び出しでユーザーデータを承認したことがはっきりと分かります。私はどのようにメッセージを変更できるかわからない。

答えて

3

変換機能を使用すると、これを行うことができます。

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

それはあなたのRPC、イベントや記録を含むdeepstreamからのすべての着信および発信メッセージからデータを挿入または削除するフックを提供します。

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

metaDataにはほかに何が含まれていますか?どこで読むことができますか? –

+0

申し訳ありませんが、実際に認可ステージに置いたデータが実際に含まれることがわかりました。 –

+0

メタデータの詳細は、トランスフォーメーションチュートリアルの「データの操作方法」の表を参照してください – yasserf

関連する問題