diff --git a/build/api/core/AuthSystemDefault.php b/build/api/core/AuthSystemDefault.php index b1e2ab9..6cf30e9 100755 --- a/build/api/core/AuthSystemDefault.php +++ b/build/api/core/AuthSystemDefault.php @@ -25,6 +25,7 @@ public static function check(){ /* (1) Initialisation ---------------------------------------------------------*/ + if( !isset($_SESSION['TOKEN']) ) $_SESSION['TOKEN'] = []; if( !isset($_SESSION['AUTH']) ) $_SESSION['AUTH'] = []; if( !isset($_SESSION['PERM']) ) $_SESSION['PERM'] = []; if( !isset($_SESSION['USER']) ) $_SESSION['USER'] = []; @@ -33,12 +34,15 @@ /* (2) Gestion de AUTH (authentification) ---------------------------------------------------------*/ - /* (1) Si Auth dans HEADER, on le récupère */ - $AUTH = isset($_SERVER['PHP_AUTH_DIGEST']) ? $_SERVER['PHP_AUTH_DIGEST'] : ''; + $AUTH = ''; - /* (2) Si Auth dans SESSION, on le récupère */ - if( $AUTH == '' && isset($_SESSION['AUTH']) ) - $AUTH = implode('', $_SESSION['AUTH']); + /* (1) Si Auth dans HEADER, on le récupère */ + if( isset($_SERVER['PHP_AUTH_DIGEST']) && is_string($_SERVER['PHP_AUTH_DIGEST']) ) + $AUTH = $_SERVER['PHP_AUTH_DIGEST']; + + /* (2) Si SESSION déja connectée -> no récupère le token */ + elseif( isset($_SESSION['TOKEN']) && is_string($_SESSION['TOKEN']) ) + $AUTH = $_SESSION['TOKEN']; /* (3) Gestion de AUTH en fonction des tokens @@ -53,6 +57,7 @@ /* (2) Aucune authentification */ else{ + $_SESSION['TOKEN'] = []; $_SESSION['AUTH'] = []; $_SESSION['USER'] = []; $_SESSION['ADMIN'] = []; @@ -61,6 +66,7 @@ /* (4) On vérifie l'authentification par BDD ---------------------------------------------------------*/ if( !self::deepCheck() ){ + $_SESSION['TOKEN'] = []; $_SESSION['AUTH'] = []; $_SESSION['USER'] = []; $_SESSION['ADMIN'] = [];