- OIDC Enterprise avec
form_post - liaison HTTP-POST
- message web (aussi appelé
checkSession)
Attributs SameSite
set-cookie afin de limiter le comportement du navigateur. Cela peut empêcher le navigateur d’envoyer la paire key=value du témoin selon le type d’interaction qui a déclenché la requête HTTP.
Les valeurs d’attribut acceptées sont les suivantes :
Voici certains attributs de témoin que vous connaissez peut-être :
À la réception, le navigateur analyse les en-têtes et met à jour son stockage de témoins en conséquence.
Depuis février 2020, Google Chrome v80 a modifié la façon dont il gère les témoins. Auth0 a mis en œuvre les changements suivants dans sa gestion des témoins :
- Les témoins pour lesquels l’attribut
SameSiten’est pas défini seront réglés surlax - Les témoins avec
SameSite=nonedoivent être sécurisés; sinon, ils ne peuvent pas être enregistrés dans le stockage de témoin du navigateur
auth0(gère les sessions utilisateur)auth0-mf(gère les renseignements liés à )did(l’identifiant d’un appareil/agent utilisateur)
- Définir l’attribut
SameSitesurnone, ce qui exige l’utilisation de HTTPS (quel que soit l’environnement) - Définir des témoins de secours si un navigateur hérité ne prend pas en charge
SameSitelorsqu’il est défini surNone. Ces témoins de secours sontauth0_compat,auth0-mf_compatetdid_compat
set-cookie correspond au témoin réel key=value. La partie rouge correspond aux attributs du témoin que le navigateur stocke dans le stockage de témoin afin de déterminer plus tard s’il doit inclure la paire key+value dans les requêtes.


Fonctionnalités concernées
SameSite peuvent affecter vos applications.
Si vous utilisez une application Web avec des sessions (par ex. pour enregistrer les préférences des utilisateurs, les paniers d’achat, etc.) et que vous permettez aux utilisateurs de se connecter à l’aide de comme Google, GitHub ou Auth0, vous dépendez des témoins pour offrir cette fonctionnalité. Des changements au comportement des témoins dans les navigateurs peuvent nuire à l’expérience utilisateur. Google Chrome, par exemple, est le premier éditeur de navigateur à déployer un changement qui pourrait ne pas être compatible avec votre application Web.
Vous remarquerez peut-être que les spécifications de Google Chrome et de Microsoft Edge concernant les cas où
SameSite n’est pas défini ont changé : la valeur par défaut de SameSite est passée de none à lax.
Par exemple, supposons que vous créez une nouvelle interface utilisateur et que vous avez plusieurs services que vous acheminez via une passerelle Auth0. À cette passerelle, vous créez une session par témoin. Si vous faites une requête inter-origine, vous pourriez voir cet avertissement dans la console JavaScript :
Un cookie associé à une ressource intersite (URL) a été défini sans l’attribut SameSite. Une future version de Chrome n’enverra les cookies avec des requêtes intersites que s’ils sont définis avec SameSite=None et Secure. Vous pouvez examiner les cookies dans les outils de développement sous Application>Storage>Cookies et voir plus de détails à https://www.chromestatus.com/feature/5088147346030592 et https://www.chromestatus.com/feature/5633521622188032
Mesures à prendre
- Consulter la liste des navigateurs non pris en charge.
- Configurer votre application pour qu’elle utilise
SameSite=nonesi elle utiliseresponse_mode=form_postlorsqu’elle interagit avec Auth0 (notez que Chrome ne fait aucune exception, même pourlocalhost) - Définir votre témoin comme sécurisé si son attribut
SameSiteest égal àNone.Sinon, il sera rejeté par le navigateur. Si vous utilisez HTTP pour vos URL de rappel, elles cesseront de fonctionner si vous utilisez de tels témoins pour lier le state de la requête d’autorisation/. Vous devez donc soit utiliser HTTPS, soit définirSameSite=lax