2016-06-28 11 views
2

Arbeiten mit AspNetCore RC2 (und jetzt v1) ... mit einer Mischung aus JWT bearer tokens und der Identity-Middleware für Authentifizierung und Autorisierung. Ging durch das Tutorial (verlinkt) und bekam Token-Authentifizierung und Autorisierung mit der WebAPI.Wie verhindern Sie, dass die Identity-Middleware auf eine 401 umleitet?

Ich brauche "app.UseIdentity()" in der Startup.cs-Konfiguration, um das Identity-Framework zum Verwalten von Benutzern und Rollen zu verwenden. Das Problem ist, dass die WebAPI zu "account/login" umleitet, anstatt einfach einen 401 (unautorisierten) Status zurückzusenden, wenn ein anonymer Benutzer versucht, einen Endpunkt mit [Authorize] darauf zu treffen.

Ich habe Leute gesehen, die darüber sprechen, wie man das bei der Cookie-Authentifizierung stoppt, aber das hilft nicht, da ich nur Tokens verwende.

Kann mir jemand in eine Richtung darauf hinweisen, wie man der Identity-Middleware mitteilt, dass sie keine unautorisierten Versuche weiterleitet? (Wenn Code benötigt wird, lassen Sie es mich wissen.) :)

Antwort

2

Das die Umleitung (Startup.cs, ConfigureServices Methode) stehen geblieben zu sein scheint:

services.Configure<IdentityOptions>(options => 
{ 
     options.Cookies.ApplicationCookie.AutomaticAuthenticate = false; 
     options.Cookies.ApplicationCookie.AutomaticChallenge = false; 
     options.Cookies.ApplicationCookie.LoginPath = PathString.Empty; 
     options.User.RequireUniqueEmail = true; 
     options.SignIn.RequireConfirmedEmail = true; 
}); 
+0

Eigentlich nur 'options.Cookies.ApplicationCookie Einstellung. AutomaticChallenge "auf" false "verhindert, dass die Identität die Antwort ändert und daher wird sie nicht automatisch umgeleitet. – VSG24