問題タブ [crossbar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - AutobahnJS クライアントでクロスバー ルーター サーバーに接続するときに、クライアントの役割/AuthID を指定する方法は?
複数のロールを持つクロスバー ルーター サーバーをセットアップしましたが、各ロールには異なる登録/呼び出し/サブスクライブ/公開のアクセス許可があります。
次に、AutobahnJS クライアントを使用してルーターに接続します。しかし、 API リファレンス ページを検索した後、クライアント ロール (またはルーターがクライアントのロールを決定するための AuthID) を指定する方法がわかりません
。誰もこれについて手がかりを持っていますか?
(PS デフォルトの「匿名」ロールで問題ありません。)
python - crossbar.io のインライン コールバックでツイストおよびネストされた Deferred
私は比較的 Twisted と crossbar.io に慣れていません。現在、sqlalchemy と alchimia (twisted で sqlalchemy を使用するためのレイヤー) を使用してデータベースの抽象化に取り組んでいます。これまでに作成した db 抽象化は期待どおりに機能していますが、クロスバー プロシージャ内で非同期 db 呼び出しを行うと問題が発生します。これは、外側の呼び出しがクロスバー リモート プロシージャであり、内側がデータベース アクセスである非同期呼び出しをネストしたためだと思います。
私がやりたいことは次のとおりです。
ユーザーを認証できるようにするには、データベースからのデータを待ってから、有効なチケットを発行するか、エラーを返す必要があります。現在、db クエリが完了するのを待たないため、遅延を反復処理できないというエラーが発生します。
ここで、ログイン RPC 内で内部データベース呼び出しを待機し、ユーザーを認証してから戻るにはどうすればよいですか。ツイストで非同期呼び出しをチェーンできることは知っていますが、クロスバーを使用したこの特別なケースと、外部関数が@inlineCallbacks
ショートカットを使用する場合にこれを行う方法がわかりません。
アップデート:
いじくり回すと、コールバックを db クエリに追加できるようになりました。残念ながら、内部関数から外部関数に戻り値を渡す方法がわかりません (外部関数は、ユーザーが認証されるチケットを返す必要があります)。
defer.returnValue('user_ticket')
コールバック関数内で試しましたが、エラーが発生します。
ruby - Ruby wamp-client gem - crossbar.io への接続
私はRubyが初めてです
wamp-client gem を使用して crossbar.io ルーターへの接続を確立しようとしています。クロスバーには、クロスバー テンプレート (バックエンドとしての Python) を介して作成されたすべてのデフォルト設定とアプリケーションがあります。ブラウザ経由で接続しているときはすべて問題ありませんが、単純にルビーを使用しようとしているとき
「handle_opening_handshake_response: Unhandled opening handshake response # (Net::WS::Error)」エラーがあります。ハンドシェイクを処理するには、WAMP ルーターが HTTP 101 スイッチ プロトコルを送信する必要があることを知っていますが、それは行われません (wireshark では表示されません)。私を助けてください。
クライアントのリクエスト:
ルーターリターン:
wamp - Ubuntu 14.04 に PPA から Crossbar 0.12 をインストールします。
Crossbar に Ubuntu PPA を使用しており、 実行してい0.11.1
ます。このバージョンでは利用できないと思われる証明書チェーンを使用するオプションが必要です。この時点で、PPAを使用するかファイルを手動でコピーする簡単なメカニズムはありますか? 以前に他の Pypy ベースのセットアップを試したことがありますが、それらを本番環境で実行することに自信がありませんでした。
proxy - クロスバー キャディ リバース プロキシ
クロスバー ルーターと通信するキャディを使用してリバース プロキシを設定するにはどうすればよいですか?
ローカルホスト 8080 をリッスンするクロスバー ルーターを備えたドッカーがあり、キャディをリバース プロキシとして使用しています。
キャディファイルの下:
「tcpflow 8080」は、接続しようとしても何も返しません。
クロムのヘッダーの下:
応答
リクエスト
フレームの下:
そしてコンソールエラー:
django - クロスバー 0.12.1 : django という名前のモジュールがありません - wsgi エラー
バージョン 0.11 にはなかったクロスバー 0.12.1 を起動するとエラーが発生します
クロスバーが更新するもの以外は何も変更していません。
私の config.json はまだ同じで、私のプロジェクトの pythonpath がオプション内にあります:
アイデアはありますか?ありがとう。
python - クロスバー/アウトバーンを使用したユーザー通知に使用する認証?
現在、クロスバー/アウトバーン経由で Websockets を使用してユーザー通知システムを実装しようとしています。複数のテストを行い、ドキュメントを確認しましたが、次のワークフローを機能させるための解決策があるかどうかはわかりません。
- ユーザーは Web アプリでサインイン -- これは JWT を介して行われます
crossbar
フロントエンドは、実行中のインスタンスへの Websocket 接続を確立します。- フロントエンドは、ユーザーの通知専用の URI にサブスクライブしようとします。つまり
com.example.notifications.user.23
、com.example.user.23.notifications'. Where
23` はユーザー ID です。 - ユーザーの JWT がチェックされ、ユーザーがサブスクリプションへのアクセスを許可されているかどうかが確認されます。
- アクティビティが生成されて通知が発生すると、バックエンドはユーザー固有の URI を発行します。
ステップ 3 では、現在サポートされている認証方法に必要なものがあるかどうかわかりません。理想的には、URI パターンに適用できる (クロスバー内に JWT オーセンティケーターを実装するために) カスタマイズできる認証メソッドが必要ですが、サブスクライブしているユーザーにパターン全体へのアクセスを許可することはできません。これは動的認証メソッドによって部分的に解決されますが、後半が欠けています:
例(私の理想的なワークフロー):
- ユーザーが URI へのサブスクライブを試み
com.example.user.23.notifications
ます。 - URI の一致( http://crossbar.io/docs/Pattern-Based-Subscriptions/
com.example.user..notifications
のワイルドカード パターン) - 認証トークンが検証され、ユーザーには へのアクセスのみ
com.example.user.23.notifications
が許可されます。
上記は簡単な方法で達成できますか?私が知る限り.crossbar/config.json
、すべてのユーザー ID の URI 順列を含む を何らかの方法で生成し、新しいユーザーごとに新しい構成を自動的に生成する場合にのみ可能です。
どんな助けでも大歓迎です!
python - 2 つのレルムをブリッジする/1 つのクライアントを複数のレルムにサブスクライブする
2 つ以上の領域を持つ WAMP/クロスバー アプリケーションの設計を検討しています。1 つのレルムはバックエンド メッセージング用であり、2 つ目のレルムは本質的にパブリック API をフロントエンド クライアントに公開します。現在、ある時点で、メッセージはレルム間を横断する必要があります。これには、1 つのクライアントが 2 つのレルムに参加し、ブリッジとして機能する必要があります。
後ろに大きくかがむことなく、それはまったく実現可能ですか?それとも、設計アプローチに最初から欠陥があり、特定のトピック URI を使用してフロントエンドとバックエンドを分離する必要がありますか?