Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
| Eigenschaft | Wert |
|---|---|
| Regel-ID | CA5404 |
| Titel | Tokenvalidierungsprüfungen nicht deaktivieren |
| Kategorie | Security |
| Fix führt oder führt nicht zur Unterbrechung | Nicht unterbrechend |
| Standardmäßig in .NET 10 aktiviert | No |
Ursache
Festlegen der Microsoft.IdentityModel.Tokens.TokenValidationParameters Eigenschaften RequireExpirationTime, ValidateAudience, , ValidateIssueroder ValidateLifetime auf false.
Regelbeschreibung
Tokenvalidierungsprüfungen stellen sicher, dass bei der Überprüfung von Token alle Aspekte analysiert und überprüft werden. Das Deaktivieren der Überprüfung kann zu Sicherheitslücken führen, wenn nicht vertrauenswürdige Token die Überprüfung durchführen können.
Weitere Einzelheiten zu bewährten Verfahren für die Token-Validierung finden Sie auf der Wiki-Seite der Bibliothek.
Behandeln von Verstößen
Legen Sie die Microsoft.IdentityModel.Tokens.TokenValidationParameters Eigenschaften RequireExpirationTime, ValidateAudience, ValidateIssuer, und ValidateLifetime auf true. Oder entfernen Sie die Zuweisung für false, da der Standardwert true ist.
Wann sollten Warnungen unterdrückt werden?
In den meisten Fällen ist diese Überprüfung unerlässlich, um die Sicherheit der nutzenden App sicherzustellen. Es gibt jedoch einige Fälle, in denen diese Überprüfung nicht erforderlich ist, insbesondere bei nicht standardmäßigen Tokentypen. Stellen Sie vor der Deaktivierung dieser Überprüfung sicher, dass Sie die Auswirkungen auf die Sicherheit vollständig durchdacht haben. Informationen zu den Kompromissen finden Sie im Wiki der Token-Validierungsbibliothek.
Unterdrücken einer Warnung
Um nur eine einzelne Verletzung zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Regel zu deaktivieren und dann wieder zu aktivieren.
#pragma warning disable CA5404
// The code that's violating the rule is on this line.
#pragma warning restore CA5404
Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der none auf fest.
[*.{cs,vb}]
dotnet_diagnostic.CA5404.severity = none
Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.
Pseudocodebeispiele
using System;
using Microsoft.IdentityModel.Tokens;
class TestClass
{
public void TestMethod()
{
TokenValidationParameters parameters = new TokenValidationParameters();
parameters.RequireExpirationTime = false;
parameters.ValidateAudience = false;
parameters.ValidateIssuer = false;
parameters.ValidateLifetime = false;
}
}
Lösung
using System;
using Microsoft.IdentityModel.Tokens;
class TestClass
{
public void TestMethod()
{
TokenValidationParameters parameters = new TokenValidationParameters();
parameters.RequireExpirationTime = true;
parameters.ValidateAudience = true;
parameters.ValidateIssuer = true;
parameters.ValidateLifetime = true;
}
}