Authentification avec JCMS Open API client - Recherche multisites
Bonjour,
Nous rencontrons une difficulté lors du développement d'un plugin spécifique utilisant OpenAPI qui a pour objectif : Interroger et récupérer des publications d'une plateforme JCMS (B) depuis une plateforme JCMS (A) via une barre de recherche.
Inspiré de l'exemple fourni chapitre 5.3 dans la documentation OpenAPI ( Services Web RESTful avec JCMS Open API), nous remontons actuellement des éléments distants avec succès en utilisant l'implémentation search() de JcmsApp sans authentification.
Sachant que nos utilisateurs sont communs sur les deux plateformes via une connexion à notre LDAP, la problématique est la suivante :
Comment authentifier l'utilisateur courant de la plateforme JCMS (A) courante lors de la recherche sur la plateforme (B) afin de récupérer uniquement le contenu dont-il est lecteur ?
Merci,
Cordialement
Ce que vous essayez de faire s'appelle de l'authentification proxy.
Pour faire ça, il faut soit avoir un mécanisme d'authentification qui le permet, soit utiliser un mécanisme qui l'émule.
- Si vous utilisez CAS pour réaliser votre authentification Jalios, alors c'est disponible nativement.
- Si vous utilisez une authentification Windows (NTML, Kerberos Windows), alors vous avez un mécanisme que Microsoft appelle l'impersonnation, qui est proche de l'authentification proxy : à savoir le système A fait sa requête au système B, authentifié avec un compte administrateur, qui a le droit de faire passer son authentification pour celle de quelqu'un d'autre (et il indique qui dans sa requête) : ça s'apparente au "je m'identifie avec le compte d'untel".
- Sinon, si vous etes avec Jalios 10, vous pouvez utiliser JWT pour fabriquer à la volée des jetons d'authentification au nom des personnes nécessaires.
- Si vous n'étes pas dans un de ces cas là, il faut faire un développement spécifique, que je détaillerais si nécessaire.