Um einen API-Schlüssel von einem eLabNext-Benutzer zur Verwendung innerhalb Ihrer eigenen webbasierten Plattform zu erhalten, verwenden Sie am besten die eLabNext-Option "Authentifizierungsfluss für Systeme von Drittanbietern".
Hier sind die Voraussetzungen für die Verwendung dieses Authentifizierungsmechanismus:
Unten sehen Sie ein Diagramm, das zeigt, wie der Austausch von Token abläuft. Laden Sie den Beispielcode herunter um es in Aktion zu sehen. Der Beispielcode erfordert nodeJS die auf Ihrem System installiert werden sollen.
Auf Ihrer Plattform gibt es eine Aktion, mit der der Endnutzer ein API-Token von eLabNext anfordern kann. Der Endbenutzer wird lediglich gefragt, an welchem Endpunkt dieses API-Token angefordert werden muss. Dadurch wird sichergestellt, dass Organisationen, die eLabNext unter ihrem eigenen Domainnamen hosten, diese Funktion nutzen können.
Dies kann für die Endnutzer erklärungsbedürftig sein, damit sie verstehen, was von ihnen verlangt wird. Im Idealfall würden Sie ihre Eingaben validieren/parsen und korrigieren, um die richtige Syntax zu erhalten. (z. B. wenn ein Endnutzer eine Seite, auf die er regelmäßig zugreift, kopieren/einfügen würde, wie z. B. https://www.elabjournal.com/members/können Sie diese Eingabe akzeptieren und korrigieren, um den wahren "Endpunkt" wiederzugeben, der lautet www.elabjournal.com vor der Umleitung an https://{{eLab Endpoint}/members/fn/externalAuth/?rootVar=MyExampleRootVar&state=myOptionalStateString).
Hier, rootVar muss der RootVar Ihres Add-Ons sein. Staat ist eine optional Parameter, der an Sie zurückgesendet wird. Dies kann verwendet werden, um einen Zustandswert zu übergeben und/oder um die Sicherheit durch einen auf Ihrer Seite implementierten Mechanismus zu erhöhen, der Replay-Attacken oder Parametermanipulationen verhindert (z. B. durch Übergabe eines gesalzenen Hashs aus einem bekannten Zustand).
Der Benutzer wird nun von Ihnen weitergeleitet zu https://{{eLab Endpoint}/members/fn/externalAuth/?rootVar=MyExampleRootVar&state=myOptionalStateString um die Zustimmung zu erteilen. Wenn die Zustimmung vorliegt, leitet eLabNext den Benutzer anhand der statischen Variable authReturnURL innerhalb Ihres Add-On-Namensraumes. Dadurch wird die Rückgabe-URL auf unserer Seite aus Sicherheitsgründen auf eine Whitelist gesetzt.
Bitte beachten Sie, dass dies auch funktioniert, wenn Sie Ihr Skript während der Entwicklung sideloaden. In diesem Fall wechselt der Authentifizierungsfluss standardmäßig in den "Entwicklungsmodus", d. h. er liest nur die authReturnURL von Ihrem seitengeladenen Skript aus, wobei alle lokal installierten Add-ons umgangen werden.
Die authReturnURL aufgerufen, die das Anfrage-Token als URL-Parameter enthält. Das Anfrage-Token muss innerhalb von 60 Sekunden verwendet werden und kann nur einmal verwendet werden. Auf Ihrer Seite werden Sie dann den API-Aufruf https://{eLab-Endpunkt}/api/v1/auth/user/exchangeToken
(hier dokumentiert), um das Anfrage-Token für den Empfang eines langlebigen API-Tokens zu verwenden. Stellen Sie sicher, dass Sie den Wert als Content-Type application/json posten.
Laden Sie den Beispielcode herunter um es in Aktion zu sehen. Der Beispielcode erfordert nodeJS die auf Ihrem System installiert werden sollen.
Der Authentifizierungsablauf ist dem von Webanwendungen sehr ähnlich.
Die Voraussetzungen für die Verwendung dieses Authentifizierungsmechanismus sind:
Das von Ihrer Desktop-Anwendung erhaltene Anfrage-Token muss innerhalb von 60 Sekunden verwendet werden und kann nur einmal verwendet werden. Auf Ihrer Seite werden Sie dann den API-Aufruf https://{eLab Endpunkt oder Host}/api/v1/auth/user/exchangeToken
(hier dokumentiert), um das Anfrage-Token für den Empfang eines langlebigen API-Tokens zu verwenden. Stellen Sie sicher, dass Sie den Wert als Content-Type application/json posten.
Vereinbaren Sie einen persönlichen Demo-Termin für eine freundliche Beratung und eine kostenlose Bewertung Ihres Labor-Workflows durch unsere Experten.