Personnaliser la résolution du contexte client
Vue d'ensemble
Lors du décrochage sur l'OAV en utilisant un token passé en paramètre d’URL, le contexte client est résolu par défaut via le service Fasst Sessions (ou un service équivalent).
Le serveur envoie le token à ce service, qui le valide et le décode, puis retourne en réponse le contexte client résolu.
L’URL du service utilisé est définie par la variable d’environnement SESSION_SERVICE_URL.
Personnalisation de la résolution du contexte
La fonction session.resolveContext, passée en paramètre de la fonction start dans le fichier server/index.mjs, vous permet de personnaliser la mécanique par défaut.
Vous pouvez utiliser cette fonction de rappel lorsque :
- vous souhaitez appeler un service différent de Fasst Sessions ;
- vous devez appliquer une logique métier spécifique lors de la résolution du contexte client.
Fonction session.resolveContext
Rôle
La fonction de rappel resolveContext :
- reçoit en paramètre le token de décrochage (type string) ;
- doit retourner un objet qui représente le contexte client résolu.
Cette fonction vous permet de résoudre par exemple :
- un contexte provenant d’un service externe ;
- un contexte reconstruit localement ou enrichi ;
- ou d'appliquer une logique métier spécifique.
Valeur de retour
La fonction doit impérativement retourner un objet représentant le contexte client résolu.
Exemple complet d’intégration
import { start } from '@fasstech/oip-starter-utils/server';
import { resolveContext } from './resolve-context.mjs'
const serverCfg = {
session: {
// ...
resolveContext,
},
// ...
};
const { app } = await start(serverCfg);Dans cet exemple :
- la résolution du contexte client est personnalisée grâce à l'utilisation de la fonction resolveContext ;
- dans le corps de la fonction, un service différent de Fasst Sessions est appelé pour résoudre le contexte client à partir du token de décrochage ;
- la représentation du contexte est enrichie avec l'ajout de metadata.
Résumé
Lors du décrochage, la résolution du contexte client fait appel à Fasst Sessions par défaut. Toutefois, il est possible de personnaliser cette mécanique :
- resolveContext permet de surcharger ou de remplacer la logique par défaut ;
- La fonction de rappel reçoit le token de décrochage et doit retourner un objet représentant le contexte client ;
- Elle est idéale pour intégrer un appel à un service tiers ou ajouter des règles métier spécifiques.