Algemene Azure Communication-clientbibliotheek voor JavaScript - versie 2.3.1
Dit pakket bevat algemene code voor Azure Communication Service-bibliotheken.
Aan de slag
Vereisten
- Een Azure-abonnement.
- Een bestaande Communication Services-resource. Als u de resource moet maken, kunt u azure portal, de Azure PowerShell of de Azure CLI gebruiken.
Installeren
npm install @azure/communication-common
Browserondersteuning
JavaScript-bundel
Als u deze clientbibliotheek in de browser wilt gebruiken, moet u eerst een bundler gebruiken. Raadpleeg onze bundeldocumentatie voor meer informatie over hoe u dit doet.
Belangrijkste concepten
CommunicationTokenCredential en AzureCommunicationTokenCredential
De CommunicationTokenCredential
is een interface die wordt gebruikt om een gebruiker te verifiëren met Communication Services, zoals Chatten of Bellen.
De AzureCommunicationTokenCredential
biedt een handige manier om een referentie te maken die de genoemde interface implementeert en stelt u in staat om te profiteren van de ingebouwde logica voor automatisch vernieuwen.
Afhankelijk van uw scenario kunt u de AzureCommunicationTokenCredential
initialiseren met:
- een statisch token (geschikt voor clients met een korte levensduur die bijvoorbeeld worden gebruikt om eenmalige chatberichten te verzenden) of
- een callback-functie die zorgt voor een continue verificatiestatus tijdens communicatie (ideaal bijvoorbeeld voor lange belsessies).
De tokens die aan de AzureCommunicationTokenCredential
worden geleverd via de constructor of via de callback van de tokenvernieuwingsfunctie, kunnen worden verkregen met behulp van de Azure Communication Identity-bibliotheek.
Voorbeelden
Een referentie maken met een statisch token
Voor clients met een korte levensduur is het vernieuwen van het token bij het verlopen niet nodig en kan het AzureCommunicationTokenCredential
worden geïnstantieerd met een statisch token.
const tokenCredential = new AzureCommunicationTokenCredential(
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs"
);
Een referentie maken met een callback
Hier gaan we ervan uit dat we een functie fetchTokenFromMyServerForUser
hebben waarmee een netwerkaanvraag wordt ingediend om een JWT-tokentekenreeks voor een gebruiker op te halen. We geven deze door aan de referentie om een token voor Bob op te halen van onze eigen server. Onze server gebruikt de Azure Communication Identity-bibliotheek om tokens uit te geven. Het is noodzakelijk dat de fetchTokenFromMyServerForUser
functie te allen tijde een geldig token retourneert (met een vervaldatum die in de toekomst is ingesteld).
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
});
Een referentie maken met proactief vernieuwen
Als u op true instelt refreshProactively
, wordt uw tokenRefresher
functie aangeroepen wanneer het token bijna is verlopen.
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
refreshProactively: true,
});
Een referentie maken met proactief vernieuwen en een eerste token
Doorgeven initialToken
is een optionele optimalisatie om de eerste aanroep naar over te tokenRefresher
slaan. U kunt dit gebruiken om het opstarten van uw toepassing te scheiden van de volgende vernieuwingscycli van tokens.
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
refreshProactively: true,
token:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs",
});
Problemen oplossen
- Ongeldig token opgegeven: zorg ervoor dat het token dat u doorgeeft aan de
AzureCommunicationTokenCredential
constructor of aan detokenRefresher
callback een lege JWT-tokentekenreeks is. Als u bijvoorbeeld de Azure Communication Identity-bibliotheek of REST API gebruikt om het token te verkrijgen, moet u ervoor zorgen dat u alleen hettoken
deel van het antwoordobject doorgeeft.
Volgende stappen
Bijdragen
Als u een bijdrage wilt leveren aan deze bibliotheek, leest u de handleiding voor bijdragen voor meer informatie over het bouwen en testen van de code.
Verwante projecten
Azure SDK for JavaScript