Pour recevoir une clé API d'un utilisateur d'eLabNext afin de l'utiliser dans votre propre plateforme web, il est préférable d'utiliser l'option eLabNext "Flux d'authentification pour les systèmes tiers".
Voici les conditions préalables à l'utilisation de ce mécanisme d'authentification :
Le diagramme ci-dessous montre comment se déroule l'échange de jetons. Télécharger le code d'exemple pour le voir à l'œuvre. Le code d'exemple nécessite nodeJS à installer sur votre système.
Sur votre plateforme, il y aura une action permettant à l'utilisateur final de demander un jeton API à eLabNext. La seule question posée à l'utilisateur final est de savoir à quel point d'accès ce jeton d'API doit être demandé. Cela garantit que les organisations qui hébergent eLabNext, sous leur propre nom de domaine, seront en mesure d'utiliser cette fonctionnalité.
Cela peut nécessiter quelques explications pour que les utilisateurs finaux comprennent ce qui leur est demandé. Idéalement, vous devriez valider, analyser et corriger leurs données pour obtenir la syntaxe appropriée. (Par exemple, lorsqu'un utilisateur final copie/colle une page à laquelle il accède régulièrement, telle que https://www.elabjournal.com/members/vous pouvez accepter et corriger cette entrée pour refléter le véritable "point final" qui est www.elabjournal.com avant de le rediriger vers https://{{eLab Endpoint}/members/fn/externalAuth/?rootVar=MyExampleRootVar&state=myOptionalStateString).
Ici, rootVar doit être le rootVar de votre Add-On. État est un facultatif qui vous sera renvoyé. Il peut être utilisé pour transmettre une valeur d'état et/ou pour accroître la sécurité par tout mécanisme mis en œuvre de votre côté pour empêcher les attaques par rejeu ou la manipulation des paramètres (par exemple, en transmettant un hachage salé d'un état connu).
L'utilisateur est maintenant redirigé par vous vers https://{{eLab Endpoint}/members/fn/externalAuth/?rootVar=MyExampleRootVar&state=myOptionalStateString afin de donner son consentement. En cas d'acceptation, eLabNext redirigera l'utilisateur vers vous en fonction de la variable statique authReturnURL dans l'espace de noms de votre module d'extension. Cela permet d'établir une liste blanche de l'URL de retour pour des raisons de sécurité.
Veuillez noter que cela fonctionne également lors du chargement latéral de votre script pendant le développement. Dans ce cas, le flux d'authentification passera par défaut en "mode développement", ce qui signifie qu'il ne lira que le fichier authReturnURL à partir de votre script latéral, en contournant les modules complémentaires installés localement.
Les authReturnURL est appelé et contient le jeton de requête en tant que paramètre de l'URL. Le jeton de requête doit être utilisé dans les 60 secondes et ne peut être utilisé qu'une seule fois. De votre côté, vous devrez alors joindre l'API en appelant https://{eLab Endpoint}/api/v1/auth/user/exchangeToken
(documenté ici), afin d'utiliser le jeton de demande pour recevoir un jeton d'API de longue durée. Assurez-vous de poster la valeur en tant que Content-Type application/json.
Télécharger le code d'exemple pour le voir à l'œuvre. Le code d'exemple nécessite nodeJS à installer sur votre système.
Le processus d'authentification est très similaire à celui des applications web.
Les conditions préalables à l'utilisation de ce mécanisme d'authentification sont les suivantes :
Le jeton de demande reçu par votre application de bureau doit être utilisé dans les 60 secondes et ne peut être utilisé qu'une seule fois. De votre côté, vous allez ensuite joindre l'API en appelant https://{eLab Endpoint ou hôte}/api/v1/auth/user/exchangeToken
(documenté ici), afin d'utiliser le jeton de demande pour recevoir un jeton d'API de longue durée. Assurez-vous de poster la valeur en tant que Content-Type application/json.
Planifiez une démonstration personnelle pour bénéficier des conseils d'un expert et d'une évaluation gratuite du flux de travail du laboratoire.