Recevoir un Clé API

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".

Authflow eLabNext

Flux d'authentification pour les applications Web

Voici les conditions préalables à l'utilisation de ce mécanisme d'authentification :

  • Dans votre plateforme web, vous devrez rediriger l'utilisateur vers l'URL https://{{eLab Endpoint}/members/fn/externalAuth/?rootVar=MyExampleRootVar&state=myOptionalStateString
  • Vous devez disposer d'un module complémentaire actif pour l'utilisateur, qui comprend une variable statique. authReturnURL dans votre espace de noms.
    • Cette variable doit inclure l'URL complète et le point de terminaison de votre plateforme web qui est capable de recevoir un message ditjeton de demande‘.

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.

Diagramme d'authentification de l'échange API

Les étapes :

  1. L'utilisateur demande un jeton API

    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).

  2. Reçoit un "jeton de demande".

    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.

  3. Échanger le "Request Token" avec le jeton API

    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.

Flux d'authentification pour les applications de bureau

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 :

  • Enregistrez un schéma URI personnalisé et unique pour votre programme de bureau, afin qu'il s'ouvre lorsqu'il est appelé à partir d'un navigateur et qu'il accepte ses paramètres.
  • Idéalement, vous appelez votre propre programme de bureau à partir d'un module complémentaire, afin de pouvoir transmettre la variable javascript location.host, qui permet à votre programme de bureau de savoir quel point de terminaison eLab utiliser. Si vous utilisez l'application de manière totalement autonome, vous devrez demander à l'utilisateur le point de terminaison d'eLab, car il peut varier en fonction de la région et du type d'installation.
  • Rediriger l'utilisateur vers l'URL https://{{eLab Endpoint}/members/fn/externalAuth/?rootUri=MyCustomUri&source=descriptionOfMyProgram
  • Une fois que l'utilisateur a accepté, une redirection est effectuée vers : {{Votre schéma d'URI personnalisé}}:requestToken={{requestToken}}host={hôte d'origine}}

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.

Commencez votre voyage vers un un laboratoire
tout digital aujourd'hui!

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.

fr_FRFR