Im Jahr 2016 hat Viessmann, einer der weltweit führenden Hersteller von effizienten, zuverlässigen und erschwinglichen Heiz- und Solar-Produkten, einen riesigen Schritt in Richtung Digitalisierung ihrer internen Kommunikation gemacht, indem Sie Ihre Vi2Go Mitarbeiter-App auf Basis von Staffbase starteten.

Die App hat seitdem mehr als 11.000 Nutzer angezogen. Nicht zuletzt, weil mit dem mobilen Tool jeder in Verbindung bleiben kann, was besonders für die vielen Mitarbeiter ohne Schreibtisch-Arbeitsplatz von Vorteil ist. Innerhalb der App zeigt Viessmann unternehmensinterne Nachrichten, lokale Fabrik-Neuheiten, interne Jobangebote, Kantinenpläne, Dokumente und sogar einen Zugang zu den SAP-Arbeitszeiten des jeweiligen Mitarbeiters.

Eine wichtige Voraussetzung für das Nutzermanagement bei Viessmann war es, die Möglichkeit zu haben, automatisch Mitarbeiter aus der App zu entfernen, wenn diese das Unternehmen verlassen. Um dies zu ermöglichen, hat das Team um Viessmanns Christoff Thalheim die Staffbase REST API genutzt und stellt damit sicher, dass alle Benutzerinformationen täglich aktualisiert werden.

Nutzer Offboarding, Viessmann, Mitarbeiter-App

Das Ziel: Automatische Benutzersynchronisation

Viessmann nutzt SSO über das OpenID-Authentifizierungsprotokoll als eine Möglichkeit, dem Personal eine ideale Anwendererfahrung zu bieten. SSO ermöglicht es Benutzern, auf ihre Anwendungen mit einem einzigen Satz Anmeldedaten zuzugreifen und bietet somit eine einfache Möglichkeit um Nutzer in die App zu integrieren. SSO entfernt aber keine nicht mehr gültigen Nutzeraccounts. Deshalb brauchte das Unternehmen eine Möglichkeit jene Mitarbeiter, die das Unternehmen verlassen, automatischaus der App zu entfernen.

Staffbase bietet eine Reihe von Methoden an, um die Benutzer synchron zu halten, einschließlich CSV-Import, Active Directory Integration und APIs. Viessmann wählte die REST API, da diese die größte Flexibilität bei der Integration mit ihrem bestehenden Offboarding-Prozess bietet.

Lösungen, Schritte und Lieferung

Mit der Verwendung der REST API stellte Viessmann sicher, dass beim Löschen des Benutzers automatisch die REST API ausgelöst wird, um den Benutzer auch aus der App zu löschen. Viessmann ermöglicht dies durch die Durchführung eines täglichen Cronjobs. Der Cronjob holt alle gelöschten Benutzer der letzten vierundzwanzig Stunden aus dem Viessmann-Identitätsanbieter ab und entfernt diese aus der App.

Cronjob, Viessmann, Mitarbeiter-App

Der Schlüssel für die Ausführung dieser Aufgabe ist es, die gemeinsame Nutzung von Benutzer-IDs für das firmeninterne Benutzerverzeichnis, als auch für die App zu ermöglichen. Zur Unterstützung bestehender IDs können Sie eine externe ID für einen Benutzer festlegen, die dann dazu dient, den Nutzer mit der Staffbase ID zu verbinden. Die externe ID könnte dabei zum Beispiel die Personalnummer des Mitarbeiters oder dessen Benutzerkürzel sein. (Eine E-Mail-Adresse ist eine schlechte Wahl für eine externe ID, da diese sich gelegentlich ändert.)

In diesem Fall legt der Single-Sign-On-Flow, der von Viessmanns Identity Provider zur Verfügung gestellt wird, schon während des SSO-Flusses automatisch die externe ID des Benutzers fest. Diese externe ID ist auch den HR-Systemen des Kunden bekannt und dem Workflow, der das Offboarding verarbeitet. Mithilfe der externen ID  kann der Cronjob die externe ID des Nutzers, der vom Viessmann-Identitätsanbieter gelöscht werden muss, abrufen. Der Cronjob löst dann die Löschung des Benutzers über die Staffbase API aus.

Dieser Ablauf ist einfach und robust. Um in der Ausführung tolerant zu sein, wird der Cronjob nicht unterbrochen, wenn ein Benutzer in Staffbase nicht existiert, sondern die verbliebenen zu löschenden Benutzer werden trotzdem gelöscht.

Die folgenden Codebeispiele veranschaulichen, wie Sie unsere REST API für die Ausführung nutzen können.

Beispielcode

HTTP API call um einen Nutzer zu löschen:

DELETE /api/users/{USER_ID} HTTP/1.1

Host: backend.staffbase.com

Authorization: Basic {API_TOKEN}

Snippet um einen Nutzer in C# zu löschen:

var API_TOKEN = "";

var USER_ID = "";

var client = new HttpClient();

client.BaseAddress = new Uri("https://backend.staffbase.com/");

client.DefaultRequestHeaders.Authorization =

new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", API_TOKEN);

var response = await client.DeleteAsync($"/api/users/" + USER_ID);

var statusCode = response.StatusCode;

Snippet, um einen Nutzer in Java zu löschen:

final String API_TOKEN = "";

final String USER_ID = "";

final URL url = new URL("https://backend.staffbase.com/api/users/" + USER_ID);

final HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();

httpCon.setRequestMethod("DELETE");

httpCon.setRequestProperty("Authorization", "Basic " + API_TOKEN);

final int statusCode  = httpCon.getResponseCode();

Fazit

Durch die Verwendung von SSO mit OpenID und der Staffbase REST API ist Viessmann in der Lage, ihre Benutzer täglich auf dem aktuellen Stand zu halten - egal ob Onboarding oder Offboarding - und gleichzeitig die bestmögliche User-Experience zu liefern.

Kudos an das Team! Wir freuen uns auf das nächste Projekt!

Weitere Informationen und aktuelle Neuigkeiten rund um Ihre Mitarbeiter-App:

Liebe Leser*innen,

wir bei Staffbase verwenden seit November 2020 den Genderstern in unseren deutschsprachigen Blog-Texten. Wenn das bei diesem Artikel noch nicht der Fall ist, handelt es sich dabei um einen älteren Text, der vor der Einführung der gendergerechten Sprache erstellt wurde.

Vielen Dank für Ihr Verständnis!