Viessmann verwaltet Mitarbeiterdaten mit SSO und nutzt zusätzlich die Staffbase REST API für das Offboarding

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 der internen Kommunikation gemacht, indem du deine Vi2Go Mitarbeiter-App auf Basis von Staffbase gestartet hast.
Die App hat seitdem mehr als 11.000 Nutzer*innen angezogen. Nicht zuletzt, weil mit dem mobilen Tool alle in Verbindung bleiben können, was besonders für die vielen Mitarbeitenden 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 der jeweiligen Mitarbeitenden.
Eine wichtige Voraussetzung für das Nutzermanagement bei Viessmann war es, die Möglichkeit zu haben, automatisch Mitarbeitende 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.
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 Nutzenden, auf ihre Anwendungen mit einem einzigen Satz Anmeldedaten zuzugreifen und bietet somit eine einfache Möglichkeit, um Nutzende in die App zu integrieren. SSO entfernt aber keine nicht mehr gültigen Nutzeraccounts. Deshalb brauchte das Unternehmen eine Möglichkeit, jene Mitarbeitenden, die das Unternehmen verlassen, automatisch aus 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 dem bestehenden Offboarding-Prozess bietet.
Lösungen, Schritte und Lieferung
Mit der Verwendung der REST API stellte Viessmann sicher, dass beim Löschen der Nutzenden automatisch die REST API ausgelöst wird, um die Person 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 Nutzenden der letzten vierundzwanzig Stunden aus dem Viessmann-Identitätsanbieter ab und entfernt diese aus der 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 kannst du eine externe ID für eine Person festlegen, die dann dazu dient, den Nutzenden mit der Staffbase ID zu verbinden. Die externe ID könnte dabei zum Beispiel die Personalnummer des Mitarbeitenden 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 der Person fest. Diese externe ID ist auch den HR-Systemen der Kund*innen bekannt und dem Workflow, der das Offboarding verarbeitet. Mithilfe der externen ID kann der Cronjob die externe ID der Nutzenden, die vom Viessmann-Identitätsanbieter gelöscht werden müssen, abrufen. Der Cronjob löst dann die Löschung der Person ü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 eine Person in Staffbase nicht existiert, sondern die verbliebenen zu löschenden Nutzenden werden trotzdem entfernt.
Die folgenden Codebeispiele veranschaulichen, wie du unsere REST API für die Ausführung nutzen kannst.
Beispielcode
HTTP API call um eine Nutzer*in zu löschen:
DELETE /api/users/{USER_ID} HTTP/1.1
Host: backend.staffbase.com
Authorization: Basic {API_TOKEN}
Snippet um eine Nutzer*in 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 eine Nutzer*in 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, seine Benutzer*innen täglich auf dem aktuellen Stand zu halten – egal ob Onboarding oder Offboarding – und gleichzeitig die bestmögliche User-Experience zu liefern.
Respekt ans Team! Wir freuen uns auf das nächste Projekt!