- OIDC Enterprise avec
form_post - liaison HTTP-POST
- Message web (aussi appelé
checkSession)
Attributs SameSite
set-cookie afin de restreindre le comportement du navigateur. Cela peut empêcher le navigateur d’envoyer la paire key=value du cookie 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 cookie que vous connaissez peut-être :
À la réception, le navigateur analyse les en-têtes et met à jour son stockage de cookies en conséquence.
À compter de février 2020, Google Chrome v80 a modifié la façon dont il gère les cookies. Auth0 a apporté les changements suivants à sa gestion des cookies :
- Les cookies sans attribut
SameSitedéfini seront réglés surlax - Les cookies avec
SameSite=nonedoivent être sécurisés; sinon, ils ne peuvent pas être enregistrés dans le stockage de cookies du navigateur
auth0(gère les sessions utilisateur)auth0-mf(gère les renseignements liés à l’)did(l’identifiant d’un appareil/agent utilisateur)
- Définir l’attribut
SameSitesurnone, le cookie exigeant l’utilisation de HTTPS (peu importe l’environnement) - Définir des cookies de solution de secours au cas où un navigateur hérité ne prendrait pas en charge la définition de
SameSiteàNone. Ces cookies de solution de secours sontauth0_compat,auth0-mf_compatetdid_compat
set-cookie correspond au cookie réel key=value. La partie rouge correspond aux attributs du cookie que le navigateur stocke dans le stockage de cookies afin de décider plus tard s’il doit inclure la paire de cookie key+value dans les requêtes.


Fonctionnalités concernées
SameSite peuvent affecter vos applications.
Si vous utilisez une application web avec des sessions (p. 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 vous fiez alors aux cookies pour assurer cette fonctionnalité. Certains changements au comportement des cookies 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 pourriez remarquer que, dans Google Chrome et Microsoft Edge, le comportement de
SameSite lorsqu’il n’est pas défini est passé d’une valeur par défaut de none à lax.
Par exemple, supposons que vous créiez une nouvelle interface utilisateur et que vous ayez plusieurs services auxquels vous accédez par proxy via une passerelle Auth0. À cette passerelle, vous créez une session par cookie. Si vous faites une requête cross-origin, vous pourriez voir cet avertissement dans la console Javascript :
A cookie associated with a cross-site resource (URL) was set without the SameSite attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with SameSite=None and Secure. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032
Mesures à prendre
- Consulter la liste des navigateurs non pris en charge.
- Configurer votre application pour utiliser
SameSite=nonesi elle utiliseresponse_mode=form_postlorsqu’elle interagit avec Auth0 (notez que Chrome ne fait aucune exception, même pourlocalhost) - Marquer votre cookie comme sécurisé si son attribut
SameSiteest défini àNone.Sinon, le navigateur le rejettera. Si vous utilisez HTTP pour vos URL de rappel, elles cesseront de fonctionner si vous utilisez ce type de cookie pour lier lestate/le de la demande d’autorisation. Vous devrez donc soit utiliser HTTPS, soit définirSameSite=lax