Ce plugin permet de constituer un référentiel d'identités. Couplé à un système d'authentification, il offre un service de Fournisseur d'Identités (FI).
Une identité est composée d'attributs. L'accès aux attributs se fait via une API REST. Chaque attribut peut être lu, écrit ou certifié par une application cliente de l'API si elle dispose des autorisations adéquates.
Les applications clientes sont aussi dénommées Fournisseurs de Service (FS).
Ce plugin offre une interface web pour permettre aux administrateurs de configurer le référentiel d'identités et les autorisations des fournisseurs de services.
Le plugin fournit une API REST permettant de gérer les identités. Plusieurs versions de l'API peuvent être appelées :
La Version 2 ne peut être utilisée que pour récupérer une identité à partir de son CUID ou GUID. Seulement la version 3 offre une utilisation complète de l'API (CRUD et recherche).
L'exécution de l'IDS nécessite une instance d'[Elasticsearch (8+)](https://www.elastic.co/fr/downloads/elasticsearch). Aucune configuration particulière nécessaire, télécharger et exécuter.
L'IDS utilise [PostgreSQL 10+](https://www.postgresql.org/) comme database relationnelle pour stocker ses données.
Un configuration particulière peut-être trouvée dans le ficher identitystore_context.xml file. Il s'agit de l'utilisation d'une (https://docs.spring.io/spring-framework/docs/3.2.0.M1/reference/html/scheduling.html)[spring task] pour schéduler le job de ré-indexation full des identités dans Elasticsearch avec un CRON (ne peut pas être fait pour le moment avec un Daemon Lutèce).
<!-- Schedule full E/S identities reindexing --> <bean id="identitystore.fullIndexer" class="fr.paris.lutece.plugins.identitystore.service.indexer.elastic.index.task.FullIndexTask" ></bean> <task:scheduler id="identitystore.fullIndexerScheduler" /> <task:scheduled-tasks scheduler="identitystore.fullIndexerScheduler"> <task:scheduled ref="identitystore.fullIndexer" method="run" cron="${identitystore.index.full.cron}"/> </task:scheduled-tasks>
Le plugin expose des méthodes web pour gérer les identités. Consulter la page /jsp/site/Portal.jsp?page=swaggerui pour plus d'informations à propos de ces méthodes (à venir..).