Schéma d’authentification par défaut
À partir de .NET 7, nous avons introduit un nouveau comportement dans la zone d’authentification dans ASP.NET Core.
Auparavant, les utilisateurs devaient définir le schéma d’authentification par défaut, utilisé par les gestionnaires d’authentification et d’autorisation, dans l’appel AddAuthentication
:
builder.Services.AddAuthentication("MyDefaultScheme");
À l’avenir, quand un seul schéma d’authentification est inscrit, ce schéma est traité comme schéma par défaut. Par exemple, « MyDefaultScheme » est traité comme schéma par défaut dans le code suivant.
builder.Services.AddAuthentication().AddOAuth("MyDefaultScheme");
Ce changement peut exposer des changements de comportement involontaires dans les applications, comme une validation des options d’authentification plus tôt que prévu.
Version introduite
ASP.NET Core 7.0
Comportement précédent
Auparavant, quand les utilisateurs ne fournissaient pas de schéma par défaut dans l’appel AddAuthentication
, aucun schéma par défaut n’était défini.
builder.Services.AddAuthentication().AddCookie();
Cela impactait le comportement des gestionnaires d’authentification dans la couche application.
Nouveau comportement
À compter d’ASP.NET Core 7.0, si (et uniquement si) un seul schéma est inscrit dans une application, ce schéma est traité comme étant la valeur par défaut. Dans le code suivant, le CookieDefaults.AuthenticationScheme
est traité comme schéma par défaut.
builder.Services.AddAuthentication().AddCookie();
Toutefois, dans l’extrait de code suivant, aucune valeur par défaut n’est définie, car plusieurs schémas sont inscrits.
builder.Services.AddAuthentication().AddCookie().AddJwtBearer();
Type de changement cassant
Cette modification affecte la compatibilité binaire.
Raison du changement
Ce changement a été effectué pour réduire la réutilisabilité pendant la configuration de l’authentification et pour configurer des valeurs par défaut raisonnables.
Action recommandée
Le changement impacte uniquement les applications qui ont un seul schéma inscrit. Pour ces scénarios, nous vous recommandons de vérifier que votre application peut gérer l’hypothèse d’un seul schéma comme valeur par défaut. Par exemple, vérifiez que les options associées à ce schéma sont correctement configurées.
Vous pouvez également désactiver le nouveau comportement en définissant l’indicateur de contexte d’application Microsoft.AspNetCore.Authentication.SuppressAutoDefaultScheme
.
API affectées
API d’authentification.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour