web-dev-qa-db-fra.com

définition d'un cookie de sous-domaine croisé avec javascript

Comment dois-je ajouter le support de domaine aux fonctions these ? Je souhaite que .example.com soit déclaré en tant que domaine, afin que les cookies puissent être lus sur tous les sous-domaines de example.com. Dans sa forme actuelle puisque le domaine n'est pas défini, il ne peut être lu que sur www.example.com

27
newnomad

Voici un lien sur la façon de partager des cookies entre un domaine:

https://www.thoughtco.com/javascript-by-example-2037272

Cela implique de définir l'attribut de domaine de la chaîne de cookies comme:

document.cookie = "myValue=5;path=/;domain=example.com";

Ce cookie devrait maintenant être accessible à tous les sous-domaines de example.com comme login.example.com

49
Tom Gullen

Dans mon cas, nous devions définir un cookie qui fonctionnerait sur tous nos sous-domaines .com:

function setCrossSubdomainCookie(name, value, days) {
  const assign = name + "=" + escape(value) + ";";
  const d = new Date();
  d.setTime(d.getTime() + (days*24*60*60*1000));
  const expires = "expires="+ d.toUTCString() + ";";
  const path = "path=/;";
  const domain = "domain=" + (document.domain.match(/[^\.]*\.[^.]*$/)[0]) + ";";
  document.cookie = assign + expires + path + domain;
}

Cela pourrait ne pas fonctionner pour .co.uk, etc., mais le principe peut être utilisé

0
stujo