Repository script¶
Description¶
Ce repository charge les informations de comptes en évaluant un script ewts.
Le script n'est pas responsable de vérifier les credentials mais uniquement de retourner le compte utilisateur correspondant aux credentials reçus en entrée.
En pratique, le module va invoquer le script ewts pour lui demander de rechercher l'utilisateur. Le script peut être appelé selon deux modes selon le type de client utilisé:
Le type indirect concerne l'authentification d'une personne physique au moteur d'un formulaire.
Dans ce cas, le script reçoit le nom d'utilisateur via la variable
$$.username et a pour mission de fournir en réponse les infos
concernant le compte correspondant au moyen de la méthode
$auth.returnUser.
Le type direct est utilisé pour les services web.
Dans ce cas, le recours à un formulaire tiers n'est pas souhaitable et
on s'attend à ce que le service appelant fournisse déjà un token
d'authentification valide. Le script reçoit alors ce token via la
variable $$.token et a pour mission de fournir en réponse les infos
concernant le compte correspondant au moyen de la méthode
$auth.returnUser.
Paramètres¶
- attribut
typeobligatoire - Pour ce type de repository, l'attribut doit avoir la valeur
script - élément
scriptobligatoire -
Nom du script à évaluer
Le script est toujours évalué sans contexte.
Le script est déclenché par un trigger
authenticationet s'exécuter dans un thread de typetechnical. Cela signifie qu'il est possible de sécuriser l'exécution du script en reprenant l'un ou l'autre ou les deux éléments ci-dessous dans une annotation@accept, par exemple:@accept(trigger = "authentication", thread = "technical")Voir la documentation sur les annotations pour plus de détails.
- élément
application -
Optionnel. Nom de l'application à laquelle appartient le script.
Si non spécifié, le moteur détermine le nom de l'application à partir de l'URL utilisée par la requête client.
Exemple¶
Le bloc ci-dessus déclare un repository qui invoque le script
findUser.ewts du sous-dossier auth des scripts de l'application sample:
1 2 3 4 | |