Megosztás a következőn keresztül:


Az Azure Communication common client library for JavaScript – 2.3.1-es verzió

Ez a csomag az Azure Communication Service-kódtárak közös kódját tartalmazza.

Első lépések

Előfeltételek

Telepítés

npm install @azure/communication-common

Böngészőtámogatás

JavaScript-csomag

Ahhoz, hogy ezt az ügyfélkódtárat a böngészőben használhassa, először egy kötegelőt kell használnia. Ennek részleteiért tekintse meg a csomagküldő dokumentációt.

Fő fogalmak

CommunicationTokenCredential és AzureCommunicationTokenCredential

Ez CommunicationTokenCredential egy olyan felület, amellyel hitelesíteni lehet egy felhasználót a Communication Services szolgáltatással, például csevegéssel vagy hívással.

Ez AzureCommunicationTokenCredential kényelmes módot kínál az említett felületet implementáló hitelesítő adatok létrehozására, és lehetővé teszi a beépített automatikus frissítési logika előnyeit.

A forgatókönyvtől függően érdemes lehet inicializálni a következővel AzureCommunicationTokenCredential :

  • statikus jogkivonat (alkalmas rövid élettartamú ügyfelekhez, például egyszeri csevegőüzenetek küldésére) vagy
  • egy visszahívási függvény, amely folyamatos hitelesítési állapotot biztosít a kommunikáció során (ideális például hosszú hívási munkamenetekhez).

A konstruktoron vagy a AzureCommunicationTokenCredential jogkivonat-frissítő visszahíváson keresztül megadott jogkivonatok az Azure Communication Identity-kódtár használatával szerezhetők be.

Példák

Hitelesítő adatok létrehozása statikus jogkivonattal

Rövid élettartamú ügyfelek esetén nem szükséges frissíteni a jogkivonatot a lejáratkor, és előfordulhat, hogy a AzureCommunicationTokenCredential tokent statikus jogkivonattal kell példányosítani.

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

Hitelesítő adatok létrehozása visszahívással

Itt feltételezzük, hogy van egy függvényünk fetchTokenFromMyServerForUser , amely hálózati kérést küld egy JWT-jogkivonat-sztring lekérésére egy felhasználó számára. Átadjuk a hitelesítő adatoknak, hogy lekérjen egy jogkivonatot Bob számára a saját kiszolgálónkról. A kiszolgáló az Azure Communication Identity-kódtárat használja a jogkivonatok kiadásához. A függvénynek mindig érvényes jogkivonatot kell fetchTokenFromMyServerForUser visszaadni (a lejárati dátumot a jövőben kell megadni).

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

Hitelesítő adatok létrehozása proaktív frissítéssel

Az igaz értékre állítás refreshProactively meghívja a függvényt tokenRefresher , ha a jogkivonat hamarosan lejár.

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

Hitelesítő adatok létrehozása proaktív frissítéssel és kezdeti jogkivonattal

initialToken Az átadás nem kötelező optimalizálás, amely kihagyja az első hívást a következőretokenRefresher: . Ezzel elkülönítheti a rendszerindítást az alkalmazástól a későbbi jogkivonat-frissítési ciklusoktól.

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

Hibaelhárítás

  • Érvénytelen jogkivonat van megadva: Győződjön meg arról, hogy a konstruktornak AzureCommunicationTokenCredential vagy a tokenRefresher visszahívásnak átadott jogkivonat egy csupasz JWT-jogkivonat-sztring. Ha például az Azure Communication Identity-kódtárat vagy a REST API-t használja a jogkivonat beszerzéséhez, győződjön meg arról, hogy csak a token válaszobjektum egy részét adja át.

Következő lépések

Közreműködés

Ha hozzá szeretne járulni ehhez a kódtárhoz, olvassa el a közreműködői útmutatót , amelyből többet is megtudhat a kód összeállításáról és teszteléséről.

Megjelenések