322,19 → 322,22 |
* Si $_GET['redirect_url'] est non-vide, redirige vers l'URL qu'il contient et sort du programme; |
* sinon, ne fait rien et passe la main |
* |
* @param string $jetonRetour jeton JWT à passer à l'URL de destination (en GET |
* et dans le header "Authorization"); par défaut null |
* @param string $jetonRetour jeton JWT à passer à l'URL de destination |
* en GET; par défaut null |
*/ |
protected function rediriger($jetonRetour=null) { |
if (!empty($_GET['redirect_url'])) { |
// dans le cas où une url de redirection est précisée, |
// on est généreux et on précise le jeton dans le header et le get |
// on précise le jeton dans le get |
$url_redirection = $_GET['redirect_url']; |
if ($jetonRetour !== null) { |
|
// même si le jeton est vide, on ajoute un paramètre GET Authorization |
// pour spécifier à la cible qu'on a bien traité sa requête - permet |
// aussi de gérer les déconnexions en renvoyant un jeton vide |
$separateur = (parse_url($url_redirection, PHP_URL_QUERY) == NULL) ? '?' : '&'; |
$url_redirection .= $separateur.'Authorization='.$jetonRetour; |
header('Authorization: '.$jetonRetour); |
} |
|
// retour à l'envoyeur ! |
header('Location: '.$url_redirection); |
exit; |
} |