Bonjour, 
Je vous remercie d'avoir pris le temps de s'arrêter sur mon problème.
Je n'arrive plus à synchroniser mon Entra ID avec mes utilisateurs locaux.
Le bouton "lancer une simulation" fonctionne, mais lorsque je fais " Lancer la synchronisation" aucun changement ne se réalise.
Avant de commencer, voici mes informations serveur: 
MariaDB : 10.11.4-MariaDB-1~deb12u1 (base : bsup 618.8Mo)
 PHP : 8.2.14 (/etc/php/8.2/apache2/php.ini)
 GestSup : 3.2.52 (6029 tickets / 787 utilisateurs / 0 équipements)
Lorsque j'active le mode "debug", voici le message d'erreur du "Lancer ka synchronisation":
  Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'user_id' cannot be null in /var/www/html/core/azure_ad.php:639 Stack trace: #0 /var/www/html/core/azure_ad.php(639): PDOStatement->execute() #1 /var/www/html/admin/user.php(178): include('...') #2 /var/www/html/admin.php(22): include('...') #3 /var/www/html/main.php(520): include('...') #4 /var/www/html/index.php(405): require('...') #5 {main} thrown in /var/www/html/core/azure_ad.php on line 639
Lorsque je cherche dans le dossier /var/www/html/core/azure_ad.php , voici le passage de la ligne 621 à 642 :
       //Entra ID service already exist in GS DB
                                    } else {
                                        //check if exist an association with current GS user and service.
                                        $qry=$db->prepare("SELECT `id`,`user_id` FROM `tusers_services` WHERE user_id IN (SELECT id FROM tusers WHERE azure_ad_id=:azure_ad_id) AND service_id=:service_id");
                                        $qry->execute(array('azure_ad_id' => $AzureUser['id'],'service_id' => $service['id']));
                                        $row=$qry->fetch();
                                        $qry->closeCursor();
                                        if(empty($row))//if no association found create it
                                        {
                                            $update=1;
                                            echo '<i class="fa fa-sync text-warning"></i> <i class="fa fa-users text-warning"></i> '.T_('Mise à jour du service').' '.$AzureUser['service'].' pour '.$AzureUser['upn'].'<br />';
                                            //delete old association
                                            $qry=$db->prepare("DELETE FROM tusers_services WHERE user_id IN (SELECT id FROM tusers WHERE azure_ad_id=:azure_ad_id)");
                                            $qry->execute(array('azure_ad_id' => $AzureUser['id']));
                                            //create association
                                            if($_GET['action']=='run') 
                                            {
                                                $qry=$db->prepare("INSERT INTO tusers_services (user_id,service_id) VALUES ((SELECT MAX(id) FROM tusers WHERE azure_ad_id=:azure_ad_id),:service_id)");
                                                $qry->execute(array('azure_ad_id' => $AzureUser['id'],'service_id' => $service['id']));
                                            }
                                        } 
Pouvez-vous m'aider s'il vous plait ? 
Bonne journée
Manu
            
							Problème ajout utilisateur Entra ID
- Fichiers joints
- 
			
		
		
				- azure_ad.doc
- (51.71 Kio) Téléchargé 324 fois
 
Bonjour,
Pouvez-vous transmettre l'ensemble de la page affichée lors de la simulation de synchronisation avec le mode debug.
Et indiquer si le test du connecteur fonctionne ?
Cdt
            
			
									
						
							Pouvez-vous transmettre l'ensemble de la page affichée lors de la simulation de synchronisation avec le mode debug.
Et indiquer si le test du connecteur fonctionne ?
Cdt
GestSup: 3.2.53 | Debian: 12 | Apache: 2.4.59 | MariaDB: 11.5.2 | PHP: 8.3 | https://doc.gestsup.fr/
			
						Le test du connecteur fonctionne.
De plus il trouve bien les modifications a faire lors de la simulation.
Lors de la synchronisation il dit effectuer des changement mais c'est faux.
            
							De plus il trouve bien les modifications a faire lors de la simulation.
Lors de la synchronisation il dit effectuer des changement mais c'est faux.
- Fichiers joints
- 
			
		
				- Capture d’écran 2024-11-21 160243.png (126.08 Kio) Vu 5912 fois
 
- 
				historicsmile
- Gsup LEVEL 0
- Messages : 1
- Enregistré le : jeu. 3 avr. 2025 09:17
- Contact :
Il apprécie également les modifications à faire lors de la simulation. Lors de la synchronisation, il prétend apporter des changements, mais c'est incorrect.
            
			
									
						
										
						
