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
- Organizacje - Zarządzaj organizacjami
- Operatorzy - Pracuj z operatorami
- Integracja widgetu - Zintegruj widget czatu