Аутентификация SignalR с помощью JavaScript-клиента

Я играл сopen authentication вMVC5 а такжеSignalR, Я использую JavaScript-клиент для вызова простого серверного метода наSignalR и получить ответ от Сервера. Это хорошо работает, но если я добавлю[Authorize] тег, он даже не вызывает метод сервера (не получил никакого ответа при отладке).

Я предполагал, что сервер будет использовать механизм аутентификации для вызова клиента. Я что-то пропустил? Нужно ли вручную аутентифицировать пользователя со стороны клиента, и если да, то как мне передать маркер аутентификации?

Вот's my:hub

    [HubName("authChatHub")]
    public class AuthChatHub : Hub
    {
        [Authorize]
        public void Ping()
        {
            Clients.Caller.Pong("Connection is FINE!!");

            Clients.Caller.Pong(Context.User == null 
              ? "Null user" 
              : Context.User.Identity.IsAuthenticated.ToString());
        }
    }

Вот'мойStartup.Auth.cs

    public void ConfigureAuth(IAppBuilder app)
        {
           app.UseGoogleAuthentication();
        }

Вот'сStartup.cs, используя код для включения CORS.

public partial class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app); //added this after a suggestion here, not sure if this is the right place. 

            app.Map("/signalr", map =>
            {
                map.UseCors(CorsOptions.AllowAll);
                var hubConfiguration = new HubConfiguration
                {
                    // EnableJSONP = true //empty for now
                };

                map.RunSignalR(hubConfiguration);
            });
        }
    }

И наконец этоclient код стороны вызываетhub метод и слушает сервер RPC.

this.sendMessage = () => {
            this.authChat.server.ping();
        };
this.authChat.client.pong = (message) => { console.log(message); };

Ответы на вопрос(4)

Ваш ответ на вопрос