私の目標は、独自のトークンでカスタムヘッダーを使用して、シグナルサービスに対してユーザーまたはマシンを認証することです。
この方法論を ASP.net WEB API の下でうまく使用して、独自のカスタム クレーム ベースの認証と承認を実行してきました。
私たちのWeb APIは次のとおりです。
protected void Application_Start()
{
GlobalConfiguration.Configuration.MessageHandlers.Add(new AuthorizationHeaderHandler());
}
次に、Thread.CurrentPrincipal = principal; を上書きする AuthorizationHandler があります。これで完了です。
SignalR 内で実装しようとしました: 1. Authorize を使用してハブをマークします。 2. カスタム承認属性を実装しました。しかし、正しいヘッダーが送信された場合に true を返す以外に、生成したクレーム ベースのプリンシパルに Context.User を変更することはできません。
しかし、Context.User を取得して、ハブへの接続に使用されている実際のユーザーを表示することはできません。
どんな提案でも大歓迎です。
これを達成したい主な理由は、システムに接続するユーザー/マシンの種類がいくつかあるためです。
誰でも何か提案。