Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 3958 → Rev 3959

/trunk/widget/bibliotheque/WidgetCommun.php
160,7 → 160,49
$mdp = (isset($_SERVER['PHP_AUTH_PW'])) ? $_SERVER['PHP_AUTH_PW'] : null;
return $mdp;
}
protected function decodeToken($token){
$parts = explode('.', $token);
$payload = $parts[1];
$payload = $this->urlsafeB64Decode($payload);
$payload = json_decode($payload, true);
return $payload;
}
protected function urlsafeB64Decode($input) {
$remainder = strlen($input) % 4;
if ($remainder) {
$padlen = 4 - $remainder;
$input .= str_repeat('=', $padlen);
}
return base64_decode(strtr($input, '-_', '+/'));
}
 
protected function getUserFromCookie(){
$cookie = $_COOKIE['tb_auth'];
if ($cookie){
// Récupération de l'id et email de l'utilisateur connecté
$tokenInfos = $this->decodeToken($cookie);
$service = "auth/identite?token=";
$url = sprintf($this->config['chemins']['baseURLServicesAnnuaireTpl'], $service).$cookie;
$json = $this->getDao()->consulter($url);
$token = json_decode($json, true)['token'];
$user = [
'id' => $tokenInfos['id'],
'email' => $tokenInfos['sub'],
'token' => $token
];
return $user;
}
}
 
protected function authentifierAdmin() {
$message_accueil = "Veuillez vous identifier avec votre compte Tela Botanica.";
$message_echec = "Accès limité aux administrateurs du CEL.\n".