Fork me on GitHub

Plugin Identity Store

Introduction

This plugin stores and manipulates identities. An identity is composed of attributes. Each attribute can be read, written or certified by the application through REST APIs.

This plugin allows admin users to define the identity referential

Identities referential

REST API

The plugin provides a REST API to manage identities. Several versions of the API can be called:

  • Version 2 : the URL to use is /identity/rest/identitystore/v2/identity. This version uses the objects of the packages fr.paris.lutece.plugins.identitystore.v2.* of the library-identitybusiness.
  • Version 3 : the URL to use is /identity/rest/identitystore/v3/identity. This version uses the objects of the packages fr.paris.lutece.plugins.identitystore.v3.* of the library-identitybusiness.

Version 2 can be used only for getting an Identity by its CUID or GUID. Only version 3 offers full API usage (CRUD and research).

Environment

To run IDS, you will need a running [Elasticsearch instance (8+)](https://www.elastic.co/fr/downloads/elasticsearch). No particular configuration is needed, you can download and run it.

IDS uses [PostgreSQL 10+](https://www.postgresql.org/) as relational database to store its inner data.

Configuration

There is one particular configuration found in identitystore_context.xml file that uses (https://docs.spring.io/spring-framework/docs/3.2.0.M1/reference/html/scheduling.html)[spring tasks] to schedule the full indexation of identities in Elasticsearch (as Lutece Daemon cannot be croned yet).

<!-- 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>
                        
Where
  • identitystore.fullIndexer is the bean that performs the full indexing job
  • identitystore.fullIndexerSchedulerr is the spring scheduler instance that schedules the identitystore.fullIndexer job
  • method="run" is the name of the method that is bound in the identitystore.fullIndexer bean
  • identitystore.index.full.cron is the CRON expression and must be a property of identitystore.properties

Usage

The plugins exposes web methods to manage identities. Check /jsp/site/Portal.jsp?page=swaggerui page for more details about these methods (coming soon..)