Skip to content

Repositories

Un répository est un référentiel dans lequel sont enregistrés des comptes utilisateurs. Ewt permet de s'interfacer avec différents types de repository.

Il existe deux cas d'utilisation différents d'un repository:

  1. Dans le cas des clients basic et form, le repository est utilisé pour obtenir les paramètres du compte utilisateur et vérifier les credentials. Le recours à un repository est obligatoire dans le cas de ces clients.
  2. Pour les autres clients tels que keycloak, oauth2, le repository est utilisé optionnellement afin de compléter ou d'adapter le profil. Cela est par exemple utile lorsque l'annuaire ne contient aucun rôle et que la gestion fine grain des accès est gérée par l'application. Le recours à un repository est optionnel dans le cas de ces clients.

Les référentiels sont déclarés dans le fichier ewtAuthConfig.xml présent dans le dossier WEB-INF de la web application. Chaque référentiel est décrit par un bloc <repository> qui doit a minima contenir les attributs suivants:

attribut name obligatoire
Nom du repository. Ce nom sert à référencer le repository depuis les clients.
attribut type obligatoire

Type du repository dans lequel les logins, mot de passe et rôles sont vérifiés. Les valeurs reconnues sont:

file

Indique que le repository est un fichier local.

Voir file

script

Indique que les informations d'identités sont à obtenir depuis un script d'application Ewt.

Voir script

Tous les clients peuvent référencer un ou plusieurs repository à la fois. Dans ce cas, les noms des repositories doivent être séparés par une virgule, par exemple:

<repository>repo1,repo2</repository>

Lorsque plusieurs repositories sont référencés, le moteur agglomère les rôles et les attributs associés à chaque compte utilisateur correspondant au triplet (username, password, otpSecret), ou à la valeur username seule lorsque le repository est utilisé dans le but de compléter les credentials obtenus d'un référentiel externe comme Keycloak ou Azure Ad. Les différents repositories sont parcourus selon l'ordre dans lequel ils sont définis dans l'élément repository.