schließen
Zum Inhalt springen
busitec Logo
  • Leistungen
          • DIGITALISIERUNG
          • Prozessautomatisierung
          • Anwendungsentwicklung
          • Data Driven Company
          • Modern Workplace
          • KI für Unternehmen
          • Security
          • BUSINESS LÖSUNGEN
          • Sales und Marketing – CRM
          • Kundenservice und Field Service
          • HR und Employee Experience
          • Lieferanten- und Vertragsmanagement
          • Belegmanagement
          • Energie- und Versorgungsunternehmen
          • SERVICES
          • Digitale Strategie entwickeln
          • Digitale Reifegradmessung
          • Digitale Werkbank
          • IT-Workshops
          • Power Platform CoE
          • Managed Microsoft 365
          • Backup as a Service
          • B.SOLUTIONS
          • powerelements – Die Versorger-Suite
          • Besuchermanagement
          • Meeting Manager
          • Microsoft Teams Telefonie Connector
  • Technologien
        • BUSINESS APPS

          • Microsoft Power Platform – Individual
          • Microsoft Dynamics 365 – CRM
          • Microsoft Fabric – Data Driven
          • ELO ECM Suite – DMS/ECM
        • TOOLS

          • dox42 – Dokumentengenerator
          • skybow – Solution Builder
        • PRODUCTIVITY

          • Microsoft 365
          • Microsoft 365 Copilot
          • Microsoft Azure
        • INTEGRATION

          • Software-Schnittstelle b.Hub
          • Skribble Sign Connector für Microsoft
  • Referenzen
  • Über busitec
    • Unternehmensprofil
    • Partner
    • Team
    • Karriere bei busitec
    • Standorte
  • Aktuelles
    • Blog und News
    • Newsletter
    • Podcast
    • Events und Workshops
    • Mediathek
  • Kundenportal

Suche öffnen

Termin vereinbaren
Termin vereinbaren
busitec Logo

Suche öffnen

  • Leistungen
    • Digitalisierung
      • Prozessautomatisierung
      • Anwendungsentwicklung
      • Data Driven Company
      • Modern Workplace
      • KI für Unternehmen
      • Security
    • Business Lösungen
      • Sales und Marketing – CRM
      • Kundenservice und Field Service
      • HR und Employee Experience
      • Lieferanten- und Vertragsmanagement
      • Belegmanagement
      • Energie- und Versorgungsunternehmen
    • Services
      • Digitale Strategie entwickeln
      • Digitale Reifegradmessung
      • Digitale Werkbank
      • IT-Workshops
      • Power Platform (CoE)
      • Managed Microsoft 365
      • Backup as a Service
    • b.solutions – Eigenlösungen
      • powerelements – Die Versorger-Suite
      • Besuchermanagement
      • Meeting Manager
      • Microsoft Teams Telefonie Connector
  • Technologien
    • Business Apps
      • Microsoft Power Platform – Individual
      • Microsoft Dynamics 365 – CRM
      • Microsoft Fabric – Data Driven
      • ELO ECM Suite – DMS/ECM
    • Tools
      • dox42 – Dokumentengenerator
      • skybow – Solution Builder
    • Productivity
      • Microsoft 365
      • Microsoft 365 Copilot
      • Microsoft Azure
    • Integration
      • Software-Schnittstelle b.Hub
      • Skribble Sign Connector für Microsoft
  • Referenzen
  • Über busitec
    • Unternehmensprofil
    • Partner
    • Team
    • Karriere bei busitec
    • Standorte
  • Aktuelles
    • Blog und News
    • Newsletter
    • Podcast
    • Events und Workshops
    • Mediathek
  • Kundenportal
  • Suchen
  • Termin vereinbaren

Komfortable Authentifizierung für dox42 in SharePoint

Deep DiveModerne Infrastruktur
12.07.2019 | Teilen 3 Min.

Um dox42 in SharePoint zu integrieren – zum Beispiel in Form eines Buttons auf einer SharePoint-Seite zum generieren von Dokumenten – muss man ein wenig JavaScript-Code auf der jeweiligen Seite einfügen.

Die Voraussetzungen dafür sind in der Dokumentation zur Integration von dox42 in das Azure Active-Directory beschrieben. Dort gibt es auch ein JavaScript-Interface, welches man verwenden kann um den Aufruf von dox42 (Online) durchzuführen.
Das erwartet Sie hier

  • Die Herausforderung
  • Die Optimierung

Die Herausforderung

Wenn man nun zum ersten mal ein Dokument über den dox42-Server generieren will, so muss man sich am AAD anmelden, um ein entsprechendes Token zu bekommen, mit dem man sich am dox42 Server authentifizieren kann. Dazu wird man auf die Anmelde-Seite vom AAD umgeleitet und anschließend gelangt man wieder zurück auf seine SharePoint Seite.

Aus Sicht der Benutzers ist das ein wenig unschön, da ich meinen SharePoint-Kontext verlasse und ggf. Änderungen auf meiner SharePoint-Seite (wie zB. Filter oder ähnlich) verloren gehen.

Typischerweise erfolgt diese Anmeldung direkt beim Aufruf der Seite, aber wenn man eine solche Seite lange offen hat kann es passieren dass die Tokens ablaufen und dass man beim Anklicken des Buttons (für die Generierung eines Dokuments) zunächst auf die Login-Seite vom AAD umgeleitet wird. Anschließend gelangt man zwar wieder auf die entsprechende SharePoint-Seite, muss aber den Button noch einmal anklicken.

Die Optimierung

Anstatt also für die Anmeldung am AAD auf die entsprechende Login-Seite umzuleiten ist es besser die Anmeldung in einem (separaten) Popup durchzuführen. Dazu muss in der ADAL-Konfiguration das entsprechend angegeben werden (Zeile 12):

window.adalConfig = {
    instance: 'https://login.microsoftonline.com/',
    tenant: '<guid>',    // your Azure Tenant ID here
    clientId: '<guid>',    // your dox42 Server App ID here

    endpoints: {
        endPointApiUri: 'https://<mandant>.dox42.online'  // your dox42 Server URL here
    },

    cacheLocation: 'sessionStorage',    // Could use localStorage as well, but that creates troubles due to expiring cookies

    popUp: true
};

ss

Anschließend wird der Aufruf zum Abrufen des Token über den AuthenticationContext geändert, so dass auch hier ein Popup verwendet wird. Anstatt

authContext.acquireToken(clientId, function (error, token) {
    if (error || !token) {
        reportStatus("Could not aquire AAD Authentication Token, error occurred: " + error);
        return;
    }
    else {
        return token;
    }
});

wird also

authContext.acquireTokenPopup(clientId, null, null, function (error, token) {
    if (error || !token) {
        reportStatus("Could not aquire AAD Authentication Token, error occurred: " + error);        return;
    }
    else {
        return token;
    }
});

aufgerufen. Da die Authentifizierung nun keinen Reload der Seite mehr verursacht, kann die Auswertung des Callbacks entfallen. Somit kann der komplette Eventlistener entfernt werden. Stattdessen wird ein Callback am AuthenticationContext registriert, welcher aufgerufen wird nachdem eine Authentifizierung (via Popup) erfolgt ist.

var authContext = new AuthenticationContext(config);
authContext.callback = function (errorData, token, errorMsg) {
    if (token)
        dox42REST(<myDox42ServerUrl>);
};

var user = authContext.getCachedUser();
if (!user) {
    reportStatus('Logging you in...');
    authContext.login();
} else
    dox42REST(<myDox42ServerUrl>);

Ist der Benutzer also bereits beim AAD angemeldet, so wird direkt die Funktion dox42REST aufgerufen, ansonsten wird zunächst der Login am AuthenticationContext veranlasst und über den Callback wird dann nach erfolgreicher Anmeldung die Funktion dox42REST aufgerufen.

Zurück zur Übersicht
EibenH

Zurück

Henning Eiben ist dox42-Expert

Weiter

Migration auf Windows 10: So gelingt Firmen der Umstieg

busitec logo weiss
Digitale Technologien & Trends

Zum busitec-Blog
Immer up to date sein

Newsletter abonnieren
KONTAKT

+49 251 13 33 5 - 0
sales@busitec.de
Microsoft solution partner
  • Home
  • AGB
  • Sitemap
  • Impressum
  • Datenschutz

Copyright © 2026 busitec GmbH

b.Buddy ✕