Udostępnij za pośrednictwem


Wspólna biblioteka klienta usługi Azure Communication dla języka JavaScript — wersja 2.3.1

Ten pakiet zawiera wspólny kod bibliotek usługi Azure Communication Service.

Wprowadzenie

Wymagania wstępne

Instalowanie

npm install @azure/communication-common

Obsługa przeglądarki

Pakiet JavaScript

Aby użyć tej biblioteki klienta w przeglądarce, najpierw musisz użyć pakietu. Aby uzyskać szczegółowe informacje na temat tego, jak to zrobić, zapoznaj się z naszą dokumentacją dotyczącą tworzenia pakietów.

Kluczowe pojęcia

CommunicationTokenCredential i AzureCommunicationTokenCredential

Jest CommunicationTokenCredential to interfejs służący do uwierzytelniania użytkownika za pomocą usług komunikacyjnych, takich jak czat lub wywoływanie.

Oferuje AzureCommunicationTokenCredential wygodny sposób tworzenia poświadczeń implementowania tego interfejsu i umożliwia korzystanie z wbudowanej logiki automatycznego odświeżania.

W zależności od scenariusza warto zainicjować polecenie AzureCommunicationTokenCredential za pomocą polecenia :

  • token statyczny (odpowiedni dla krótkoterminowych klientów używanych do wysyłania jednorazowych wiadomości czatu) lub
  • funkcja wywołania zwrotnego, która zapewnia stan ciągłego uwierzytelniania podczas komunikacji (idealne, np. w przypadku długich sesji wywołujących).

Tokeny dostarczone do AzureCommunicationTokenCredential konstruktora lub wywołania zwrotnego odświeżania tokenu można uzyskać przy użyciu biblioteki tożsamości usługi Azure Communication.

Przykłady

Tworzenie poświadczeń przy użyciu tokenu statycznego

W przypadku krótkoterminowych klientów odświeżanie tokenu po wygaśnięciu nie jest konieczne i AzureCommunicationTokenCredential może zostać utworzone za pomocą tokenu statycznego.

const tokenCredential = new AzureCommunicationTokenCredential(
  "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs"
);

Tworzenie poświadczeń za pomocą wywołania zwrotnego

W tym miejscu przyjęto założenie, że mamy funkcję fetchTokenFromMyServerForUser , która wysyła żądanie sieciowe do pobrania ciągu tokenu JWT dla użytkownika. Przekazujemy go do poświadczeń, aby pobrać token dla Boba z własnego serwera. Nasz serwer będzie używać biblioteki tożsamości usługi Azure Communication do wystawiania tokenów. fetchTokenFromMyServerForUser Funkcja zwraca prawidłowy token (z datą wygaśnięcia ustawioną w przyszłości) przez cały czas.

const tokenCredential = new AzureCommunicationTokenCredential({
  tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
});

Tworzenie poświadczeń z proaktywnym odświeżaniem

Ustawienie refreshProactively wartości true spowoduje wywołanie tokenRefresher funkcji, gdy token jest bliski wygaśnięcia.

const tokenCredential = new AzureCommunicationTokenCredential({
  tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
  refreshProactively: true,
});

Tworzenie poświadczeń z proaktywnym odświeżaniem i tokenem początkowym

Przekazywanie initialToken to opcjonalna optymalizacja pozwalająca pominąć pierwsze wywołanie metody tokenRefresher. Można go użyć do oddzielenia rozruchu od aplikacji z kolejnych cykli odświeżania tokenu.

const tokenCredential = new AzureCommunicationTokenCredential({
  tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
  refreshProactively: true,
  token:
    "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs",
});

Rozwiązywanie problemów

  • Określony nieprawidłowy token: upewnij się, że token przekazywany do konstruktora AzureCommunicationTokenCredential lub wywołania zwrotnego to bezskutecznie ciąg tokenu tokenRefresher JWT. Jeśli na przykład używasz biblioteki tożsamości usługi Azure Communication lub interfejsu API REST do uzyskania tokenu, upewnij się, że przekazujesz tylko token część obiektu odpowiedzi.

Następne kroki

Współtworzenie

Jeśli chcesz współtworzyć tę bibliotekę, przeczytaj przewodnik współtworzenia , aby dowiedzieć się więcej na temat sposobu kompilowania i testowania kodu.

Wrażenia