現在、クロスバー/アウトバーン経由で 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 順列を含む を何らかの方法で生成し、新しいユーザーごとに新しい構成を自動的に生成する場合にのみ可能です。
どんな助けでも大歓迎です!