Przejdź do treści

Uwierzytelnianie

SMSBAT ChatHub API wykorzystuje dwupoziomowy system uwierzytelniania oparty na tokenach JWT z tokenami firmowymi i tokenami operatora.

Przepływ uwierzytelniania

KOD_BLOKU_0

Token firmy

Tokeny firmowe zapewniają dostęp na poziomie organizacji do API ChatHub.

Zdobądź token firmy

Punkt końcowy: POST /api/company/get-token

Prośba:

KOD_BLOKU_1

Treść żądania:

KOD_BLOKU_2

Odpowiedź:

KOD_BLOKU_3

Odpowiedzią jest ciąg tokenu JWT.

Użyj tokenu firmy

Dołącz token firmy do żądań API, korzystając z jednej z dwóch metod:

Metoda 1: Nagłówek autoryzacji (zalecany)

KOD_BLOKU_4

Metoda 2: Nagłówek klucza autoryzacji X

KOD_BLOKU_5

Token operatora

Tokeny operatora zapewniają dostęp specyficzny dla użytkownika poszczególnym operatorom w organizacji.

Zdobądź token operatora

Punkt końcowy: POST /api/operator/get-token

Prośba:

KOD_BLOKU_6

Treść żądania:

KOD_BLOKU_7

Parametry:

Parametr Wpisz Wymagane Opis
id liczba całkowita Tak Identyfikator operatora
wygasa o ciąg znaków (ISO 8601) Tak Data i godzina ważności tokena (maks. 24 godziny od teraz)

Ważne: Maksymalny czas życia tokena wynosi 24 godziny. Parametr „expiresAt” nie może być dłuższy niż 24 godziny w przyszłości.

Odpowiedź:

KOD_BLOKU_8

Użyj tokenu operatora

Dołącz token operatora do żądań API:

KOD_BLOKU_9

Walidacja tokena

Przed użyciem sprawdź, czy token jest nadal ważny.

Punkt końcowy: POST /api/operator/validate-token

Prośba:

KOD_BLOKU_10

Treść żądania:

KOD_BLOKU_11

Odpowiedź (ważny token):

KOD_BLOKU_12

Odpowiedź (nieprawidłowy token):

KOD_BLOKU_13

Wygaśnięcie tokena

Tokeny firmowe

  • Brak wyraźnego wygaśnięcia w interfejsie API
  • Skontaktuj się ze swoim menedżerem konta, aby uzyskać zasady cyklu życia tokena
  • Okresowo obracaj tokeny ze względów bezpieczeństwa

Tokeny Operatora

  • Wygaśnięcie ustawione podczas żądania tokena (parametr expiresAt)
  • Zweryfikuj tokeny przed użyciem
  • Poproś o nowe tokeny przed wygaśnięciem

Przykłady implementacji

Pythona

KOD_BLOKU_14

JavaScript (Node.js)

KOD_BLOKU_15

PHP

KOD_BLOKU_16

Najlepsze praktyki

Przechowywanie tokenów

  • ✅ Bezpiecznie przechowuj tokeny (szyfrowana baza danych, menedżer sekretów)
  • ✅ Nigdy nie przekazuj tokenów do kontroli wersji
  • ✅ Użyj zmiennych środowiskowych jako poświadczeń
  • ❌ Nie przechowuj tokenów w postaci zwykłego tekstu
  • ❌ Nie ujawniaj tokenów w kodzie po stronie klienta

Rotacja tokenów

  • Okresowo obracaj tokeny firmowe (co 3-6 miesięcy)
  • Ustaw rozsądny termin ważności tokenów operatora (7-30 dni)
  • Zaimplementuj automatyczne odświeżanie tokena przed wygaśnięciem
  • Unieważnij tokeny, gdy operatorzy odejdą

Obsługa błędów

KOD_BLOKU_17

Walidacja tokena

Zawsze sprawdzaj tokeny przed krytycznymi operacjami:

KOD_BLOKU_18

Względy bezpieczeństwa

Tylko HTTPS

Zawsze używaj protokołu HTTPS podczas wysyłania żądań uwierzytelnienia:

KOD_BLOKU_19

Zakres tokena

Do każdej operacji użyj odpowiedniego tokena:

  • Token firmy: Zarządzanie organizacją, tworzenie operatorów
  • Token operatora: operacje na czacie, obsługa wiadomości

Ograniczanie szybkości

Zaimplementuj ograniczenie szybkości dla żądań uwierzytelnienia:

KOD_BLOKU_20

Rozwiązywanie problemów

401 Nieautoryzowane

  • Sprawdź, czy poświadczenia są prawidłowe
  • Sprawdź, czy token nie wygasł — Upewnij się, że token znajduje się w nagłówkach żądań
  • Sprawdź format tokena

403 Zabronione

  • Sprawdź, czy token ma wymagane uprawnienia
  • Sprawdź, czy używasz prawidłowego typu tokena (firma czy operator)
  • Upewnij się, że token nie został unieważniony

Token wygasł

  • Poproś o nowy token
  • Zaimplementuj automatyczne odświeżanie tokena
  • Ustaw odpowiednie czasy ważności

Następne kroki