ajout du fichier supprimerSSO_V1.php
Signed-off-by: Charles DAVID <charles@cadjou.net>
This commit is contained in:
101
exemples/supprimerSSO_V1.php
Normal file
101
exemples/supprimerSSO_V1.php
Normal file
@@ -0,0 +1,101 @@
|
||||
<?php
|
||||
set_time_limit(999);
|
||||
if (!extension_loaded('curl')) {
|
||||
die("L'extension cURL est nécessaire.\n");
|
||||
}
|
||||
|
||||
// Paramètres pour la requête
|
||||
$username = 'ssorecovery';
|
||||
$password = 'Mot de passe Recovery';
|
||||
|
||||
// Liste des IPs séparées par une virgule
|
||||
$ips = '10.60.105.71';
|
||||
$ipList = explode(',', $ips);
|
||||
|
||||
// Requêtes à effectuer
|
||||
$request[0] = 'user-management-v2/start-update';
|
||||
$request[1] = 'user-management-v2/client?$expand=*&force=true';
|
||||
$request[2] = 'user-management-v2/end-update';
|
||||
|
||||
// Données JSON pour la deuxième requête
|
||||
$jsonData[1] = '{"radius":{"enabled":false},"oidc":{"enabled":false}}';
|
||||
|
||||
// Fonction pour effectuer une requête cURL
|
||||
function makeCurlRequest($url, $method, $headers = [], $postData = null, $cookieFile = null) {
|
||||
echo $url . "\n";
|
||||
$ch = curl_init($url);
|
||||
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
||||
|
||||
if (!empty($headers)) {
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
||||
}
|
||||
if ($postData) {
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
|
||||
}
|
||||
if ($cookieFile) {
|
||||
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieFile);
|
||||
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFile);
|
||||
}
|
||||
|
||||
$response = curl_exec($ch);
|
||||
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||
|
||||
if (curl_errno($ch)) {
|
||||
echo "Erreur cURL : " . curl_error($ch) . "\n";
|
||||
}
|
||||
|
||||
curl_close($ch);
|
||||
return ['response' => $response, 'httpCode' => $httpCode];
|
||||
}
|
||||
|
||||
// Parcourir chaque IP et effectuer les requêtes
|
||||
foreach ($ipList as $ip) {
|
||||
$baseUrl = "https://$ip/api/rest/v1/";
|
||||
$cookieFile = tempnam(sys_get_temp_dir(), 'cookie_'); // Fichier temporaire pour les cookies
|
||||
|
||||
echo "Traitement de l'IP : $ip\n";
|
||||
|
||||
// 1ère requête : Authentification ou début de session
|
||||
$url1 = $baseUrl . $request[0];
|
||||
$authHeaders = [
|
||||
'Content-Type: application/json',
|
||||
'Authorization: Basic ' . base64_encode("$username:$password")
|
||||
];
|
||||
$response1 = makeCurlRequest($url1, 'POST', $authHeaders, null, $cookieFile);
|
||||
|
||||
if ($response1['httpCode'] == 200) {
|
||||
echo "1ère requête réussie pour $ip : " . $response1['response'] . "\n";
|
||||
} else {
|
||||
echo "1ère requête échouée pour $ip, Code HTTP : " . $response1['httpCode'] . "\n";
|
||||
continue;
|
||||
}
|
||||
|
||||
// 2ème requête : Envoyer le body JSON
|
||||
$url2 = $baseUrl . $request[1];
|
||||
$headers2 = ['Content-Type: application/json'];
|
||||
$response2 = makeCurlRequest($url2, 'POST', $headers2, $jsonData[1], $cookieFile);
|
||||
|
||||
if ($response2['httpCode'] == 200) {
|
||||
echo "2ème requête réussie pour $ip : " . $response2['response'] . "\n";
|
||||
} else {
|
||||
echo "2ème requête échouée pour $ip, Code HTTP : " . $response2['httpCode'] . "\n";
|
||||
}
|
||||
|
||||
// 3ème requête : Envoyer le body JSON
|
||||
$url3 = $baseUrl . $request[2];
|
||||
$headers3 = ['Content-Type: application/json'];
|
||||
$response3 = makeCurlRequest($url3, 'POST', $headers3, null, $cookieFile);
|
||||
|
||||
if ($response2['httpCode'] == 200) {
|
||||
echo "3ème requête réussie pour $ip : " . $response2['response'] . "\n";
|
||||
} else {
|
||||
echo "3ème requête échouée pour $ip, Code HTTP : " . $response2['httpCode'] . "\n";
|
||||
}
|
||||
|
||||
// Nettoyer le fichier temporaire des cookies
|
||||
unlink($cookieFile);
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user