Synchroniser les tables ’auteurs’ et ’users’ ou se passer de la table ’users’ ?
En l’état nous avons deux tables : ’users’ pour OIDC et ’auteurs’ pour SPIP. Le problème à résoudre est donc d’unifier les données.
Deux solutions sont possibles :
la mauvaise : assurer la synchronisation de la table ’users’ à partir de données de la table ’auteurs’ de SPIP : tout enregistrement de données sur la table ’auteurs’ est répercuté sur la table ’users’, et vice-et-versa.
la bonne : utiliser uniquement les données de SPIP.
Utiliser SPIP comme pourvoyeur d’identité
Dans cette deuxième solution, les données de SPIP sont utilisées pour réaliser la fonction d’identification du serveur OIDC. Cela nécessite donc un nouveau module d’identification ’spip’ comprenant des scripts login.php et login_return.php qui utiliseront les données de la table auteurs de SPIP.
Et le serpent se mord la queue...
Une fois le serveur OAuthSD intégré à SPIP comme indiqué, il peut non seulement être utilisé pour l’authentification des utilisateurs d’applications tierces ou l’accès aux ressources protégées (ce pour quoi est fait un serveur OIDC), mais également pour authentifier les utilisateurs (auteurs) de SPIP en se substituant au module d’authentification standard de ce CMS.