Uwierzytelnianie oparte na tokenie REST-API 31/03/2026 13:25 Zaktualizowano Uwierzytelnianie oparte na tokenie jest jedną z 4 dostępnych metod użycia w kontekście REST-API. Oprócz tokenu, możesz użyć basic auth, OAuth2.0 oraz JSON Web Token. Aby uzyskać przegląd, prosimy zapoznać się z Uwierzytelnianiem REST-API. Uwierzytelnianie oparte na tokenie to własnościowa metoda opracowana przez BOC Group, która umożliwia użytkownikowi dostęp do REST API za pomocą tokenu zamiast nazwy użytkownika i hasła. Proces ten obejmuje wysłanie hasha bezpieczeństwa wygenerowanego na podstawie publicznego identyfikatora klienta, sekretnego klucza klienta, GUID, znacznika czasu żądania oraz parametrów związanych z żądaniem. Podejście to pomaga zapobiegać nieautoryzowanemu dostępowi do API oraz łagodzi problemy związane z powtarzającymi się transmisjami i nadużyciami żądań.Ta metoda uwierzytelniania jest dostępna wyłącznie dla aplikacji klienckich JavaTen przewodnik pokaże prostą autoryzację i wywołanie REST-API (pobierz model) pomiędzy produktem BOC Management Office a przykładowym narzędziem REST-API firm trzecich Bruno, ale może być łatwo dostosowany do Twoich specyficznych potrzeb. Podany przykład nie będzie działać dla każdego zapytania i powinien służyć jedynie jako punkt wyjścia do dalszego wykorzystania. Wymagania wstępneProszę upewnij się, że uwierzytelnianie oparte na tokenie jest poprawnie skonfigurowane w Twoim produkcie BOC Management Office: ADONIS / ADOGRC 16.0 i wyżej Ustawienia REST-API | ADONIS ADONIS / ADOGRC 15.0 i niżej Ustawienia REST-API | ADONIS ADOIT 17.0 i wyżej Ustawienia REST-API | ADOIT ADOIT 17.0 i niżej Ustawienia REST-API | ADOIT W Bruno zdefiniuj swoje zmienne SECRET oraz IDENTIFIER jako zmienne środowiskowe. PrzykładAPI do odczytu repozytorium: GET {URL}/rest/4.0/repos/{repo_id}/models/{model_id}Skrypt przed żądaniem:const CryptoJS = require("crypto-js") let uuid = require("uuid"); // Pobierz SECRET oraz IDENTIFIER ze zmiennych Postmana let REST_SECRET = bru.getEnvVar("SECRET"); let REST_IDENTIFIER = bru.getEnvVar("IDENTIFIER"); // Zdefiniuj statyczne nagłówki dla żądania let aHeaders = { "x-axw-rest-identifier": REST_IDENTIFIER, "x-axw-rest-guid": uuid.v4(), "x-axw-rest-timestamp": Date.now().toString(), }; // Umieść klucze i wartości nagłówków oraz SECRET w tablicy let aRESTTokenCollection = [ ...Object.keys(aHeaders), ...Object.values(aHeaders), REST_SECRET, ]; // Dodaj parametry zapytania do tokenu req.getUrl((queryParam) => aRESTTokenCollection.push( queryParam.key, decodeURIComponent(queryParam.value) ) ); // Posortuj według lokalizacji "en-US" aRESTTokenCollection.sort((a, b) => a.localeCompare(b, "en-US")); // Utwórz podpis HMAC-SHA512 z łańcucha kolekcji let aRESTToken = CryptoJS.HmacSHA512( aRESTTokenCollection.join(""), REST_SECRET ); // Zakoduj podpis i dodaj go jako token do nagłówków aHeaders["x-axw-rest-token"] = aRESTToken.toString(CryptoJS.enc.Base64); // jeśli metoda to post/patch dodaj nagłówek application/json if (req.getMethod == "POST" || req.getMethod == "PATCH") { aHeaders["Content-Type"] = "application/json"; } // jeśli metoda to put dodaj nagłówek */* if (req.getMethod == "PUT") { aHeaders["Content-Type"] = "*/*"; } // Dodaj nagłówki do żądania req.setHeaders(aHeaders);Dalsze informacjeDokumentacja REST-API: Witamy w BOC Developer Portal | BOC Developer Portal Powiązane artykuły Rozwiązywanie problemów z połączeniem REST-API Włączanie REST podczas korzystania z SSO z IDM Jak naprawić kody statusu REST 401 i 500? Przewodniki dotyczące tworzenia baz danych Jak złożyć zgłoszenie wsparcia?