REST-API Token Based Authentifizierung 15. März 2026 11:44 Aktualisiert Token-basierte Authentifizierung ist eine der 4 Möglichkeiten, die im Zusammenhang mit REST-API verwendet werden können. Neben Token können Sie auch Basic Auth, OAuth2.0 und JSON Web Token verwenden. Einen Überblick finden Sie unter REST-API-Authentifizierung.Die Token-basierte Authentifizierung ist eine von der BOC Group entwickelte Methode, die den Benutzerzugriff auf die REST-API unter Verwendung eines Tokens anstelle eines Benutzernamens und Passworts ermöglicht. Dieser Prozess umfasst das Senden eines Sicherheitshashes, der aus dem öffentlichen Identifikator des Kunden, dem geheimen Schlüssel des Kunden, einer GUID, einem Zeitstempel der Anfrage und den mit der Anfrage verbundenen Parametern generiert wird. Dieser Ansatz hilft, den unbefugten Zugriff auf die API zu verhindern und Probleme im Zusammenhang mit wiederholten Übertragungen und dem Missbrauch von Anfragen zu entschärfen.Diese Authentifizierungsmethode ist nur für Java-Client-Anwendungen verfügbar.Dieser Leitfaden demonstriert einen einfachen Authentifizierungs- und REST-API-Aufruf (get model) zwischen einem BOC Management Office-Produkt und dem beispielhaften REST-API-Tool Bruno eines Drittanbieters, kann aber leicht an Ihre spezifischen Anforderungen angepasst werden. Das bereitgestellte Beispiel wird nicht für jede Anfrage funktionieren und soll nur einen Ausgangspunkt für die weitere Verwendung bieten. VoraussetzungenBitte stellen Sie sicher, dass die tokenbasierte Authentifizierung in Ihrem BOC Management Office Produkt korrekt konfiguriert ist: ADONIS / ADOGRC 16.0 und höher REST-API Settings | ADONIS ADONIS / ADOGRC 15.0 und niedriger REST-API Settings | ADONIS ADOIT 17.0 und höher REST-API Settings | ADOIT ADOIT 17.0 und niedriger REST-API Settings | ADOIT Definieren Sie in Bruno Ihre Variablen SECRET und IDENTIFIER als Umgebungsvariablen. BeispielRepository lese API: GET {URL}/rest/4.0/repos/{repo_id}/models/{model_id}Pre Request Script:const CryptoJS = require("crypto-js") let uuid = require("uuid"); // Fetch the SECRET and IDENTIFIER from Postman variables let REST_SECRET = bru.getEnvVar("SECRET"); let REST_IDENTIFIER = bru.getEnvVar("IDENTIFIER"); // Define static headers for the request let aHeaders = { "x-axw-rest-identifier": REST_IDENTIFIER, "x-axw-rest-guid": uuid.v4(), "x-axw-rest-timestamp": Date.now().toString(), }; // Put the header and query object keys and values in an array and add the SECRET let aRESTTokenCollection = [ ...Object.keys(aHeaders), ...Object.values(aHeaders), REST_SECRET, ]; // Put query parameters into the token req.getUrl((queryParam) => aRESTTokenCollection.push( queryParam.key, decodeURIComponent(queryParam.value) ) ); // Sort by locale "en-US" aRESTTokenCollection.sort((a, b) => a.localeCompare(b, "en-US")); // Create HMAC-SHA512 signature from the stringified collection let aRESTToken = CryptoJS.HmacSHA512( aRESTTokenCollection.join(""), REST_SECRET ); // Encode the signature and add it as token to the headers aHeaders["x-axw-rest-token"] = aRESTToken.toString(CryptoJS.enc.Base64); // if it's a post/patch method add the application/json header if (req.getMethod == "POST" || req.getMethod == "PATCH") { aHeaders["Content-Type"] = "application/json"; } //if it's a put method add the */* header if (req.getMethod == "PUT") { aHeaders["Content-Type"] = "*/*"; } // Add the headers to the request req.setHeaders(aHeaders);Further InformationREST-API Documentation: Welcome to the BOC Developer Portal | BOC Developer Portal Verwandte Beiträge Troubleshooting REST Konnektivität REST-API in einem SSO IDM Szenario Wie behebe ich die REST-Statuscodes 401 und 500? Erstellung von Datenbanken REST-API: Basic Authentication vs. OAuth 2.0