Azure Communication Common-klientbibliotek för JavaScript – version 2.3.1
Det här paketet innehåller vanlig kod för Azure Communication Service-bibliotek.
Komma igång
Förutsättningar
- En Azure-prenumeration.
- En befintlig Communication Services-resurs. Om du behöver skapa resursen kan du använda Azure Portal, Azure PowerShell eller Azure CLI.
Installation
npm install @azure/communication-common
Stöd för webbläsare
JavaScript-paket
Om du vill använda det här klientbiblioteket i webbläsaren måste du först använda en bundler. Mer information om hur du gör detta finns i vår paketeringsdokumentation.
Viktiga begrepp
CommunicationTokenCredential och AzureCommunicationTokenCredential
är ett gränssnitt som används för att autentisera CommunicationTokenCredential
en användare med Communication Services, till exempel chatt eller samtal.
Erbjuder AzureCommunicationTokenCredential
ett bekvämt sätt att skapa en autentiseringsuppgift som implementerar gränssnittet och gör att du kan dra nytta av den inbyggda logiken för automatisk uppdatering.
Beroende på ditt scenario kanske du vill initiera AzureCommunicationTokenCredential
med:
- en statisk token (lämplig för kortlivade klienter som används för att t.ex. skicka engångschattmeddelanden) eller
- en återanropsfunktion som säkerställer ett kontinuerligt autentiseringstillstånd under kommunikation (perfekt t.ex. för långa samtalssessioner).
De token som tillhandahålls antingen AzureCommunicationTokenCredential
via konstruktorn eller via återanropet för tokenuppdatering kan hämtas med hjälp av Azure Communication Identity-biblioteket.
Exempel
Skapa en autentiseringsuppgift med en statisk token
För kortlivade klienter är det inte nödvändigt att uppdatera token vid förfallodatum och AzureCommunicationTokenCredential
kan instansieras med en statisk token.
const tokenCredential = new AzureCommunicationTokenCredential(
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs"
);
Skapa en autentiseringsuppgift med ett återanrop
Här förutsätter vi att vi har en funktion fetchTokenFromMyServerForUser
som gör en nätverksbegäran för att hämta en JWT-tokensträng för en användare. Vi skickar den till autentiseringsuppgiften för att hämta en token för Bob från vår egen server. Vår server använder Azure Communication Identity-biblioteket för att utfärda token. Det är nödvändigt att fetchTokenFromMyServerForUser
funktionen returnerar en giltig token (med ett förfallodatum inställt i framtiden) hela tiden.
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
});
Skapa en autentiseringsuppgift med proaktiv uppdatering
Inställningen refreshProactively
till true anropar funktionen tokenRefresher
när token är nära förfallodatum.
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
refreshProactively: true,
});
Skapa en autentiseringsuppgift med proaktiv uppdatering och en första token
Att skicka initialToken
är en valfri optimering för att hoppa över det första anropet till tokenRefresher
. Du kan använda detta för att separera start från ditt program från efterföljande tokenuppdateringscykler.
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
refreshProactively: true,
token:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs",
});
Felsökning
- Ogiltig token angiven: Kontrollera att den token som du skickar till
AzureCommunicationTokenCredential
konstruktorn eller till återanropettokenRefresher
är en bare JWT-tokensträng. Om du till exempel använder Azure Communication Identity-biblioteket eller REST-API :et för att hämta token kontrollerar du att du bara skickar dentoken
del av svarsobjektet.
Nästa steg
Bidra
Om du vill bidra till det här biblioteket kan du läsa bidragsguiden för att lära dig mer om hur du skapar och testar koden.
Relaterade projekt
Azure SDK for JavaScript