Subversion Repositories Applications.annuaire

Rev

Rev 578 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 578 Rev 593
Line 26... Line 26...
26
	protected $dureeCookie = 31536000; // 3600 * 24 * 365
26
	protected $dureeCookie = 31536000; // 3600 * 24 * 365
Line 27... Line 27...
27
 
27
 
28
	/** Nom du cookie */
28
	/** Nom du cookie */
Line -... Line 29...
-
 
29
	protected $nomCookie = "this_is_not_a_good_cookie_name";
-
 
30
 
-
 
31
	/** Domaine du cookie, voir la doc de set_cookie() */
29
	protected $nomCookie = "this_is_not_a_good_cookie_name";
32
	protected $domaineCookie = null;
30
 
33
 
31
	public function __construct($config, $demarrer_session = true) {
34
	public function __construct($config, $demarrer_session = true) {
32
		parent::__construct($config, $demarrer_session);
35
		parent::__construct($config, $demarrer_session);
33
		$this->clef = file_get_contents("clef-auth.ini");
36
		$this->clef = file_get_contents("clef-auth.ini");
34
		if (strlen($this->clef) < 16) {
37
		if (strlen($this->clef) < 16) {
35
			throw new Exception("Clef trop courte - placez une clef d'au moins 16 caractères dans configurations/clef-auth.ini");
38
			throw new Exception("Clef trop courte - placez une clef d'au moins 16 caractères dans configurations/clef-auth.ini");
36
		}
39
		}
37
		$this->forcerSSL = ($this->config['auth']['forcer_ssl'] == "1");
40
		$this->forcerSSL = ($this->config['auth']['forcer_ssl'] == "1");
38
		$this->dureeJeton = $this->config['auth']['duree_jeton'];
41
		$this->dureeJeton = $this->config['auth']['duree_jeton'];
-
 
42
		$this->dureeCookie = $this->config['auth']['duree_cookie'];
-
 
43
		$this->nomCookie = $this->config['auth']['nom_cookie'];
-
 
44
		if (! empty($this->config['auth']['domaine_cookie'])) {
39
		$this->dureeCookie = $this->config['auth']['duree_cookie'];
45
			$this->domaineCookie = $this->config['auth']['domaine_cookie'];
Line 40... Line 46...
40
		$this->nomCookie = $this->config['auth']['nom_cookie'];
46
		}
41
	}
47
	}
42
 
48
 
Line 479... Line 485...
479
	 * contenant $valeur
485
	 * contenant $valeur
480
	 * 
486
	 * 
481
	 * @param string $valeur le contenu du cookie (de préférence un jeton JWT)
487
	 * @param string $valeur le contenu du cookie (de préférence un jeton JWT)
482
	 */
488
	 */
483
	protected function creerCookie($valeur) {
489
	protected function creerCookie($valeur) {
484
		setcookie($this->nomCookie, $valeur, time() + $this->dureeCookie, '/', null, true);
490
		setcookie($this->nomCookie, $valeur, time() + $this->dureeCookie, '/', $this->domaineCookie, true);
485
	}
491
	}
Line 486... Line 492...
486
 
492
 
487
	/**
493
	/**
488
	 * Renvoie le cookie avec une valeur vide et une date d'expiration dans le
494
	 * Renvoie le cookie avec une valeur vide et une date d'expiration dans le
489
	 * passé, afin que le navigateur le détruise au prochain appel
495
	 * passé, afin que le navigateur le détruise au prochain appel
490
	 * @TODO envisager l'envoi d'un jeton vide plutôt que la suppression du cookie
496
	 * @TODO envisager l'envoi d'un jeton vide plutôt que la suppression du cookie
491
	 * 
497
	 * 
492
	 * @param string $valeur la valeur du cookie, par défaut ""
498
	 * @param string $valeur la valeur du cookie, par défaut ""
493
	 */
499
	 */
494
	protected function detruireCookie() {
500
	protected function detruireCookie() {
495
		setcookie($this->nomCookie, "", -1, '/', null, true);
501
		setcookie($this->nomCookie, "", -1, '/', $this->domaineCookie, true);
Line 496... Line 502...
496
	}
502
	}
Line 497... Line 503...
497
 
503