Pour installer le SSO il faut :
- Copier les fichiers du framework SALT sur le serveur Apache. Les fichiers peuvent être hors de l'arborescence WEB pour une meilleure sécurité mais doivent être accessibles en lecture à l'utilisateur WEB
- Copier les fichiers du SSO sur le serveur Apache, dans l'arborescence WEB.
- Créer le fichier
config/config.php a partir du fichier config/config.example.php. Cela permet de configurer :
- Le chemin absolu de SALT sur le serveur
- Le chemin absolu du SSO par rapport au serveur web
- Le dossier de stockage des sessions du SSO
- Le charset de SALT et du SSO
- La langue par défaut du SSO
- La base de données MySQL pour le SSO (les tables créées commenceront par sso_)
- La possibilité d'utiliser les informations de la base de données pour se logger sur le SSO
- Quelques paramètres d'affichage
Initialisation
Charger la page du SSO et s'y connecter.
Lors du 1er accès, vous pouvez indiquer n'importe quel login, une page d'initialisation vous demandera le mot de passe de la base de données, indiqué dans le fichier de configuration.
Une fois le mot de passe indiqué, les tables du SSO seront créées dans la base de données et un utilisateur administrateur sera créé avec le même login et mot de passe que l'utilisateur de la base de données.
S'il n'est pas possible de se connecter au SSO ensuite, modifier le fichier
config/config.php pour passer la constante
ALLOW_DB_USER_LOGIN à
TRUE temporairement, le temps de créer un autre utilisateur administrateur.
Après la configuration du SSO, il est conseillé de supprimer l'utilisateur correspondant à la base de données.
En cas de problème, il sera toujours possible de se reconnecter au SSO en administrateur avec, à condition de passer à
TRUE la constante
ALLOW_DB_USER_LOGIN dans
config.php.
Configuration
Se logger avec l'utilisateur de la base de données et aller sur la page d'administrateur via le menu du SSO :

Là, ajoutez les éléments dans l'ordre conseillé suivant :
- Méthodes d'authentification
Une méthode d'authentification détermine comment utilisateur peut s'authentifier sur le SSO.
Il existe 4 méthodes :
- LOCAL
L'utilisateur et son mot de passe sera enregistré dans la base de données du SSO.
C'est le seul cas où le SSO gère directement le mot de passe de l'utilisateur.
Les mots de passe ne seront jamais stockés en clair dans la base de données. Seul un hash du mot de passe est conservé.
- LDAP
L'utilisateur sera recherché dans un LDAP et son mot de passe vérifié en se connectant au LDAP.
Il faut renseigner les informations du LDAP, comme son adresse, le compte et le mot de passe de connexion, la branche (Base DN) où rechercher le login de l'utilisateur, les champs du LDAP contenant l'identifiant et le nom à afficher de l'utilisateur.
- Base de données
L'utilisateur sera recherché dans une base de données.
Il faut renseigner les informations de connection à la base de données et les requêtes permettant d'authentifier un utilisateur.
- Classe
L'utilisateur sera authentifié à partir d'une classe utilisateur à ajouter dans le dossier plugins du SSO.
La classe devra implémenter l'interface SsoAuthMethodClass.
- Utilisateurs
Les utilisateurs peuvent être ajoutés manuellement ou automatiquement.
Si on a coché Création à la volée sur une méthode d'authentification et qu'un utilisateur se connecte sur le SSO, il sera créé dynamiquement.
On peut également modifier les paramètres d'un utilisateur existant
- Applications
Les applications doivent être ajoutées.
Pour chaque application, on doit indiquer son chemin par rapport à la racine du serveur et son nom.
On peut ajouter un Gestionnaire qui est une classe utilisateur du dossier plugins du SSO et qui doit implémenter Handler
Cette classe prendra en paramètre les informations de l'utilisateur authentifié sur le SSO et devra faire en sorte que l'application considère l'utilisateur comme authentifié
en créant un cookie, modifiant une base de données, etc... toute action nécessaire pour cela et qui dépend de chaque application.
- (Groupes)
Les groupes sont des moyens de regrouper de manière logique des utilisateurs, des applications ou des méthodes d'authentifications.
On pourra alors gérer les autorisations au niveau d'un groupe et non unitairement pour chaque utilisateur et application.
On a également la possibilité de faire d'un groupe un groupe par défaut. Dans ce cas, tout élément nouvellement créé sera ajouté à ce groupe.
- Autorisations
Enfin, les autorisations définissent quels utilisateurs (ou groupe d'utilisateurs) ont le droit d'accéder à quelles applications (ou groupe d'applications).
Une fois cette configuration terminée, il faut réaliser les opérations suivantes pour chaque application :
- Implémenter la classe Gestionnaire définie pour chaque application dans le dossier plugins.
- Modifier chaque application pour appeler le SSO (Intégration)