Subversion Repositories Applications.annuaire

Rev

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

Rev 566 Rev 574
Line 320... Line 320...
320
 
320
 
321
	/**
321
	/**
322
	 * Si $_GET['redirect_url'] est non-vide, redirige vers l'URL qu'il contient et sort du programme;
322
	 * Si $_GET['redirect_url'] est non-vide, redirige vers l'URL qu'il contient et sort du programme;
323
	 * sinon, ne fait rien et passe la main
323
	 * sinon, ne fait rien et passe la main
324
	 * 
324
	 * 
325
	 * @param string $jetonRetour jeton JWT à passer à l'URL de destination (en GET
325
	 * @param string $jetonRetour jeton JWT à passer à l'URL de destination
326
	 * et dans le header "Authorization"); par défaut null
326
	 * en GET; par défaut null
327
	 */
327
	 */
328
	protected function rediriger($jetonRetour=null) {
328
	protected function rediriger($jetonRetour=null) {
329
		if (!empty($_GET['redirect_url'])) {
329
		if (!empty($_GET['redirect_url'])) {
330
			// dans le cas où une url de redirection est précisée,
330
			// dans le cas où une url de redirection est précisée,
331
			// on est généreux et on précise le jeton dans le header et le get
331
			// on précise le jeton dans le get
-
 
332
			$url_redirection = $_GET['redirect_url'];
-
 
333
 
-
 
334
			// même si le jeton est vide, on ajoute un paramètre GET Authorization
332
			$url_redirection = $_GET['redirect_url'];
335
			// pour spécifier à la cible qu'on a bien traité sa requête - permet
333
			if ($jetonRetour !== null) {
336
			// aussi de gérer les déconnexions en renvoyant un jeton vide
334
				$separateur = (parse_url($url_redirection, PHP_URL_QUERY) == NULL) ? '?' : '&';
337
			$separateur = (parse_url($url_redirection, PHP_URL_QUERY) == NULL) ? '?' : '&';
-
 
338
			$url_redirection .= $separateur.'Authorization='.$jetonRetour;
335
				$url_redirection .= $separateur.'Authorization='.$jetonRetour;
339
 
336
				header('Authorization: '.$jetonRetour);
-
 
337
			}
340
			// retour à l'envoyeur !
338
			header('Location: '.$url_redirection);
341
			header('Location: '.$url_redirection);
339
			exit;
342
			exit;
340
		}
343
		}