Ignorez la navigation
DISPONIBLE IMMÉDIATEMENT

Azure App Service – Gestion du cookie SameSite et correctif .NET Framework 4.7.2

Date de publication : 18 janvier, 2020

Dans le cadre de la mise à jour de janvier 2020 d’Azure App Service, des correctifs .NET Framework sont installés, qui mettent à jour la manière dont les applications .NET Framework gèrent la propriété du cookie SameSite. Le service déploie également un comportement de compatibilité avec App Service qui s’applique à toutes les applications s’exécutant sur App Service pour les scénarios où un cookie a défini la propriété SameSite sur « None ».

Les versions de .NET Core sur la plateforme App Service contiennent déjà des mises à jour pour la gestion du cookie SameSite et ne sont pas modifiées dans le cadre de la mise à jour du service de 2020 janvier.

Le déploiement de la charge utile d’Azure App Service s’étend sur tout le mois de janvier 2020. Il devrait être achevé fin janvier 2020 sur le cloud Azure public, tous les environnements App Service et les clouds nationaux.  Consultez les informations les plus récentes sur le déploiement.

Étant donné que les mises à jour sont déployées de façon incrémentielle dans le service, les applications commenceront à s’exécuter sur la charge utile d’App Service plus récente à des moments différents pendant la période de déploiement.  Les développeurs peuvent déterminer si des applications s’exécutent sur la charge utile d’App Service mise à jour en vérifiant la version d’App Service sur le site SCM. Le site SCM est disponible sur le portail sous l’option Outils de développement --> outils avancés.  Les développeurs peuvent également accéder directement au site SCM pour une application en utilisant le format d’URL suivant : https://votre-nomdesite-ici.scm.azurewebsites.net.

Pour les sites App Service Windows, la page d’accueil du site SCM indique la version d’Azure App Service.  Si la version est 86.0.7.148 (ou version ultérieure), l’application associée s’exécute sur la version récemment corrigée d’App Service.

Pour les sites App Service Linux, un clic sur l’option Environnement dans le menu supérieur du site SCM renvoie une page présentant les variables d’environnement de tous les sites. L’URL de la page qui s’affiche a le format suivant : https://votre-nomdesite-ici.scm.azurewebsites.net/Env.  La variable d’environnement PLATFORM_VERSION affiche la version actuelle d’App Service.  Si la version est 86.0.7.148 (ou version ultérieure), l’application associée s’exécute sur la version récemment corrigée d’App Service.

Détails sur le correctif de .NET Framework pour SameSite

Pour des détails spécifiques sur les différences de gestion du cookie SameSite incluses dans le correctif .NET Framework 4.7.2, voir cet article

Une fois le correctif .NET Framework installé, le .NET Framework modifie la valeur par défaut de la propriété de configuration cookieSameSite pour État de la session et Authentification par formulaires sur « Lax ».   Le .NET Framework envoie également automatiquement la propriété du cookie SameSite=None sur le câble lorsque la valeur définie pour HttpCookie.SameSite est « None ».

Des informations supplémentaires sur la gestion du cookie SameSite avec le .NET Framework sont disponibles dans cet article, ainsi que dans notre documentation.

Pour en savoir plus sur l’authentification par formulaires cookieSameSite par défaut, consultez cet article

Pour en savoir plus sur l’état de session cookieSameSite par défaut, consultez cet article.

Pour plus d’informations sur la gestion du cookie SameSite avec .NET Core, consultez cet article

Détails sur le comportement de compatibilité d’Azure App Service

En plus du correctif .NET Framework, Azure App Service a introduit un comportement de compatibilité pour le scénario dans lequel une réponse HTTP/HTTPs inclut un en-tête de cookie avec une propriété SameSite définie sur la valeur « None », et où l’agent utilisateur demandeur correspond à un sous-ensemble spécifique de navigateurs plus anciens qui ne prennent pas en charge la norme SameSite 2019 plus récente et ne reconnaissent donc pas la propriété SameSite « None ».  Quand un navigateur plus ancien est détecté, Azure App Service supprime automatiquement la propriété du cookie SameSite=None si elle est détectée dans les en-têtes de réponse.

L’effet net du comportement de compatibilité d’App Service est qu’un sous-ensemble spécifique de navigateurs plus anciens ne reçoivent pas de valeur SameSite non reconnue (ce qui peut avoir pour effet que des navigateurs plus anciens reviennent au comportement SameSite=Strict), tandis que des navigateurs plus récents tels que Chrome V80 reçoivent la propriété du cookie SameSite=None.

La logique de détection spécifique utilisée par App Service pour décider de la suppression de la propriété SameSite=None d’une réponse suit la pseudo-logique décrite dans cet article.

Les développeurs doivent examiner l’utilisation et la dépendance (éventuelle) de la propriété du cookie SameSite de leurs applications, et mettre à jour la logique d’application avec une détection de l’agent utilisateur et une gestion spéciale appropriée pour chaque scénario de l’application. Le comportement de compatibilité de la plateforme App Service est conçu uniquement en tant que dispositif d’atténuation partielle pour aider les développeurs, pendant la mise à jour des applications, à gérer le comportement de SameSite 2019 implémenté dans des versions plus récentes du navigateur.

Les développeurs doivent également examiner les conditions requises supplémentaires du navigateur quand des cookies incluent la propriété SameSite=None. Par exemple, Chrome V80 respecte la propriété SameSite=None uniquement si le cookie est également marqué avec l’attribut Secure et transmis via une connexion HTTPs. Afficher plus de détails.  

Le comportement de compatibilité d’Azure App Service est implémenté sur l’infrastructure de périmètre de réseau App Service. Le comportement est actif pour tous les sites s’exécutant sur App Service, quel que soit le langage ou l’infrastructure qu’ils utilisent. La fonctionnalité de compatibilité fonctionne pour les sites qui s’exécutent sur les variantes tant Linux que Windows d’App Service, pour les environnements App Service et pour tous les déploiements cloud nationaux d’Azure App Service.

 

  • App Service
  • Services

Produits apparentés