2017-10-02 6 views
0

Ich habe Probleme mit der Implementierung der JWT-Token-Authentifizierung in .NET Core 2.0. Es gibt eine Reihe von Blog-Posts online, die ich gelesen habe, aber sie sind meist veraltet, da sie für .NET Core 1.x sind.Wie implementieren Sie die JWT-Authentifizierung in .NET Core 2.0?

Ich fand es auch schwierig, eine Dokumentation zu finden, wie man ein Token generiert und ausgibt. In .NET Framework Web API wurde dies alles "magisch" mit Framework-Code behandelt.

Ich baue eine API mit benutzerdefinierten Identity-Entities und Custom-Store-Implementierung und einem eckigen Front-End.

Ich bin auf der Suche nach einer Möglichkeit, ein Token in der API mit einem '/token' Endpunkt zu generieren und dann Anforderungen zu authentifizieren und zu autorisieren, wenn der Token über den Header Authorizaton: Bearer {token} in HTTP-Anforderungen übergeben wird?

Antwort

0

in Startup.cs -> ConfigureServices, in den folgenden hinzufügen, mit Ihren Einstellungen zu aktualisieren:

services.AddAuthentication(o => 
{ 
o.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; 
o.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; 
}).AddJwtBearer(options => 
{ 
options.Audience = "your audience"; 
options.ClaimsIssuer = "claims issuer"; 
options.TokenValidationParameters = new TokenValidationParameters 
{ 
ValidIssuer = "claims issuer", 
IssuerSigningKey = { your signing key } 
}; 
}); 

Weiter oben, in Configure:

app.UseAuthentication(); 
app.UseMvc(); 

Sie müssen sicherstellen, dass UseAuthentication ist VOR UseMvc, damit es funktioniert.

Im Grunde alles, was zuvor in der Configure-Methode wurde nun auf den Bereich Dienste verschoben :)

Prüfen für ein Beispiel dieser Blog-Post aus, sowie ein Link zu einem Repo, wo Sie das Beispiel bekommen Projekt: Shawn Wildermuth's Blog

Verwandte Themen