Commit 030b496d authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

[FIX] Utilisation à tort de l'option de config 'shib_user_id_extractor' sur...

[FIX] Utilisation à tort de l'option de config 'shib_user_id_extractor' sur des données d'usurpation/simulation.
parent 88b95e86
Loading
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
# CHANGELOG

6.0.4
-----

- [FIX] Utilisation à tort de l'option de config 'shib_user_id_extractor' sur des données d'usurpation/simulation.


## 6.0.3 (21/03/2023)

- [Fix] UserContext manipule des Laminas\Permissions\Acl\Role\RoleInterface, tous les rôles ne venant pas de la BDD
+10 −1
Original line number Diff line number Diff line
@@ -496,6 +496,15 @@ EOS;
     */
    private function extractShibUserIdValueForDomainFromShibData(string $domain, array $data): ?string
    {
        // En cas d'usurpation, le domaine du compte utilisateur usurpé (ex : 'unicaen.fr') peut différer de celui
        // du compte utilisateur usurpateur (ex : 'univ-lehavre.fr'). Or, la config Shibboleth du module exploitée
        // ci-dessous n'a de sens que sur des vraies données d'authentification (i.e celle du compte usurpateur),
        // donc pas la peine d'aller plus loin : on génère un id bidon.
        // En cas de simulation, on invente les données d'authentification donc c'est la même idée.
        if ($this->isUsurpationActive() || $this->isSimulationActive()) {
            return uniqid();
        }

        $config = $this->getShibUserIdExtractorConfigForDomain($domain);
        if (empty($config)) {
            $config = $this->getShibUserIdExtractorDefaultConfig();