Subversion Repositories eFlore/Applications.cel

Rev

Rev 3366 | Rev 3967 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3366 Rev 3959
Line 158... Line 158...
158
 
158
 
159
	protected function getAuthMotDePasse() {
159
	protected function getAuthMotDePasse() {
160
		$mdp = (isset($_SERVER['PHP_AUTH_PW'])) ? $_SERVER['PHP_AUTH_PW'] : null;
160
		$mdp = (isset($_SERVER['PHP_AUTH_PW'])) ? $_SERVER['PHP_AUTH_PW'] : null;
161
		return $mdp;
161
		return $mdp;
-
 
162
	}
-
 
163
	
-
 
164
	protected function decodeToken($token){
-
 
165
		$parts = explode('.', $token);
-
 
166
		$payload = $parts[1];
-
 
167
		$payload = $this->urlsafeB64Decode($payload);
-
 
168
		$payload = json_decode($payload, true);
-
 
169
		
-
 
170
		return $payload;
-
 
171
	}
-
 
172
	
-
 
173
	protected function urlsafeB64Decode($input) {
-
 
174
		$remainder = strlen($input) % 4;
-
 
175
		if ($remainder) {
-
 
176
			$padlen = 4 - $remainder;
-
 
177
			$input .= str_repeat('=', $padlen);
-
 
178
		}
-
 
179
		return base64_decode(strtr($input, '-_', '+/'));
-
 
180
	}
-
 
181
 
-
 
182
	protected function getUserFromCookie(){
-
 
183
		$cookie = $_COOKIE['tb_auth'];
-
 
184
		
-
 
185
		if ($cookie){
-
 
186
			// Récupération de l'id et email de l'utilisateur connecté
-
 
187
			$tokenInfos = $this->decodeToken($cookie);
-
 
188
			
-
 
189
			$service = "auth/identite?token=";
-
 
190
			$url = sprintf($this->config['chemins']['baseURLServicesAnnuaireTpl'], $service).$cookie;
-
 
191
			
-
 
192
			$json = $this->getDao()->consulter($url);
-
 
193
			$token = json_decode($json, true)['token'];
-
 
194
			
-
 
195
			$user = [
-
 
196
				'id' => $tokenInfos['id'],
-
 
197
				'email' => $tokenInfos['sub'],
-
 
198
				'token' => $token
-
 
199
			];
-
 
200
			
-
 
201
			return $user;
-
 
202
		}
-
 
203
		
Line 162... Line 204...
162
	}
204
	}
163
 
205
 
164
	protected function authentifierAdmin() {
206
	protected function authentifierAdmin() {
165
		$message_accueil = "Veuillez vous identifier avec votre compte Tela Botanica.";
207
		$message_accueil = "Veuillez vous identifier avec votre compte Tela Botanica.";