SignalR authentification avec javascript client

Je jouais avec le open authentication dans MVC5 et SignalR. J'utilise un javascript client à l'appel d'un simple serveur de méthode sur SignalR et de recevoir une réponse du Serveur. Il fonctionne bien, mais si j'ajoute le [Authorize] balise, il ne fait même pas appel de la méthode de serveur (n'obtenez pas de réponse pendant le débogage).

Mon hypothèse était que le serveur utilisera le mécanisme d'Authentification de contester le client. Ai-je raté quelque chose? Je dois manuellement authentifier l'utilisateur à partir du côté client et, si oui, comment puis-je passer le jeton d'authentification?

Voici mon 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());
        }
    }

Voici mon Startup.Auth.cs

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

Voici la Startup.cs, en utilisant le code pour activer la SCRO.

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);
            });
        }
    }

Et enfin cette client côté code appelle la hub méthode et écoute le serveur RPC.

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

OriginalL'auteur AD.Net | 2014-01-17