Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
| Vlastnost | Hodnota |
|---|---|
| ID pravidla | CA5404 |
| Název | Nezakazujte kontroly ověření tokenu. |
| Kategorie | Zabezpečení |
| Oprava způsobující chybu nebo chybu způsobující chybu | Nenarušující |
| Povoleno ve výchozím nastavení v .NET 10 | No |
Příčina
Microsoft.IdentityModel.Tokens.TokenValidationParameters Nastavení vlastností RequireExpirationTime, ValidateAudience, ValidateIssuer, nebo ValidateLifetime na false.
Popis pravidla
Kontroly ověření tokenů zajišťují, že při ověřování tokenů se analyzují a ověřují všechny aspekty. Vypnutí ověřování může vést k bezpečnostním otvorům tím, že umožňuje nedůvěryhodným tokenům provádět ověřování.
Další podrobnosti o osvědčených postupech pro ověřování tokenů najdete na wikiwebu knihovny.
Jak opravit porušení
Microsoft.IdentityModel.Tokens.TokenValidationParameters Nastavte vlastnosti RequireExpirationTime, ValidateAudience, ValidateIssuera ValidateLifetime na true. Nebo odeberte přiřazení false , protože výchozí hodnota je true.
Kdy potlačit upozornění
Ve většině případů je toto ověření nezbytné k zajištění zabezpečení aplikace, která využívá. V některých případech však toto ověřování není potřeba, zejména v nestandardních typech tokenů. Než toto ověření zakážete, ujistěte se, že jste plně promysleli důsledky zabezpečení. Informace o kompromisech najdete na wikiwebu knihovny ověřování tokenů.
Potlačení upozornění
Pokud chcete pouze potlačit jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.
#pragma warning disable CA5404
// The code that's violating the rule is on this line.
#pragma warning restore CA5404
Pokud chcete pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost v none konfiguračním souboru.
[*.{cs,vb}]
dotnet_diagnostic.CA5404.severity = none
Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.
Příklady pseudokódu
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;
}
}
Řešení
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;
}
}