En parcourant les données contenues dans les tables SQL, je me suis aperçu que la procédure d'identification avait un comportement des plus étranges... Pour lever tous les doutes, rien ne vaut une séance de réflexion avec un crayon, du café et beaucoup de papier. Voici, dans sa version simplifiée, le diagramme corrigé de la procédure d'identification des utilisateurs...

image-présentation iPASS (6)

Pour une installation "normale", l'identification via login et mot de passe se fait "localement", avec les tables courantes de phpStudio.

Pour un fonctionnement de type serveur iPASS (interaction avec une application de nature différente ou d'autres clients iPASS), l'identification se fait via le système iPASS.

Si l'identification iPASS a réussi, l'identification locale se fait au moyen de l’identifiant iPASS de l'utilisateur. Si un compte local existe déjà, celui-ci est mis à jour. Autrement, un compte local est créé.

Ce fonctionnement permet à phpStudio de se synchroniser une application tierce. Par exemple, si un utilisateur voit son mot de passe modifié via un CMS qui interagit avec phpStudio, il devra utiliser son nouveau mot de passe pour s'identifier ultérieurement sous phpStudio.