Heim >Backend-Entwicklung >C++ >Wie implementiert man tokenbasierte Authentifizierung in ASP.NET Core?
Die Implementierung der tokenbasierten Authentifizierung in ASP.NET Core kann eine Herausforderung sein, insbesondere beim Übergang von früheren Versionen von Rahmen. Dieser Artikel enthält detaillierte Anweisungen zum Konfigurieren Ihrer WebApi-Anwendung für die tokenbasierte Authentifizierung und behandelt häufige Probleme und Aktualisierungen für .NET Core-Versionen.
Startkonfiguration
In Startup.cs, konfigurieren Sie Ihre Dienste und fügen Sie den folgenden Code innerhalb der Methode „ConfigureServices“ hinzu:
const string TokenAudience = "Myself"; const string TokenIssuer = "MyProject"; var claimsPrincipal = new System.Security.Claims.ClaimsPrincipal(new[] { new System.Security.Claims.ClaimsIdentity(new[] { new System.Security.Claims.Claim(System.Security.Claims.ClaimTypes.Name, "Demo User") }) }); public string BuildJwt() { var keySecret = authenticationConfiguration["JwtSigningKey"]; var symmetricKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(keySecret)); var creds = new SigningCredentials(symmetricKey, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( issuer: TokenIssuer, audience: TokenAudience, claims: claimsPrincipal.Claims, expires: DateTime.Now.AddMinutes(20), signingCredentials: creds ); return new JwtSecurityTokenHandler().WriteToken(token); }
Als nächstes konfigurieren Sie die Authentifizierungspipeline innerhalb der Methode konfigurieren:
app.UseAuthentication(); app.UseAuthorization();
Authentifizierungs-Middleware verwenden
Stellen Sie sicher, dass die Middleware app.UseAuthentication() vor jeder Middleware platziert wird, die Benutzerinformationen erfordert, wie z. B. app.UseMvc (). Dadurch wird im Autorisierungsheader nach einem Bearer-Token gesucht.
Autorisierungsrichtlinie (optional)
Geben Sie bei Bedarf eine Autorisierungsrichtlinie an, um den Zugriff auf bestimmte Controller oder Aktionen einzuschränken nur für Inhabertoken:
services.AddAuthorization(auth => { auth.AddPolicy("Bearer", new AuthorizationPolicyBuilder() .AddAuthenticationTypes(JwtBearerDefaults.AuthenticationType) .RequireAuthenticatedUser().Build()); });
Generieren der Token
Um das Token für die Authentifizierung zu generieren, verwenden Sie die zuvor definierte BuildJwt-Methode. Zum Beispiel in einer Controller-Aktion:
[HttpPost] public string AnonymousSignIn() { return BuildJwt(); }
Testen und Validieren
Besorgen Sie sich das Token und validieren Sie seine Signatur mit einem Tool wie jwt.io unter Verwendung des Geheimnisses Schlüssel, der in der Authentifizierungskonfiguration angegeben ist.
Wenn Sie diese Anweisungen sorgfältig befolgen, können Sie die tokenbasierte Authentifizierung erfolgreich in Ihrem ASP.NET Core implementieren WebApi-Anwendung und sichern Sie Ihre API-Endpunkte effektiv.
Das obige ist der detaillierte Inhalt vonWie implementiert man tokenbasierte Authentifizierung in ASP.NET Core?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!