| 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 |
|