Condividi tramite


Plug-in di identità di Azure per la persistenza della cache dei token

Questo pacchetto fornisce un plug-in alla libreria di identità di Azure per JavaScript (@azure/identity) che abilita la memorizzazione nella cache dei token persistenti. La persistenza della cache dei token consente alla cache dei token predefinita di rendere persistenti tra le sessioni usando un sistema di archiviazione sicuro fornito dal sistema operativo locale.

Codice | sorgente Campioni

Introduzione

import { useIdentityPlugin } from "@azure/identity";
import { cachePersistencePlugin } from "@azure/identity-cache-persistence";

useIdentityPlugin(cachePersistencePlugin);

Prerequisiti

Installare il pacchetto

Questo pacchetto è progettato per essere usato con Identità di Azure per JavaScript. Installare sia che @azure/identity questo pacchetto usando npm:

$ npm install --save @azure/identity
$ npm install --save @azure/identity-cache-persistence

Ambienti supportati

I plug-in di Identità di Azure per JavaScript supportano versioni stabili (anche numerate) di Node.js a partire dalla versione 12. Anche se i plug-in possono essere eseguiti in altre versioni di Node, non è garantito alcun supporto. @azure/identity-cache-persistence non supporta gli ambienti browser.

Concetti chiave

Se questa è la prima volta che si usa @azure/identity o Microsoft Identity Platform (Azure Active Directory), è consigliabile leggere prima Using @azure/identity with Microsoft Identity Platform (Uso di @azure/identity con Microsoft Identity Platform). Questo documento illustra in modo più approfondito la piattaforma e come configurare correttamente l'account di Azure.

Plug-in di identità di Azure

@azure/identity A partire dalla versione 2.0.0, la libreria client identity per JavaScript include un'API plug-in. Questo pacchetto (@azure/identity-cache-persistence) esporta un oggetto plug-in che è necessario passare come argomento alla funzione di primo livello useIdentityPlugin dal @azure/identity pacchetto. Abilitare la persistenza della cache dei token nel programma come indicato di seguito:

import { useIdentityPlugin } from "@azure/identity";
import { cachePersistencePlugin } from "@azure/identity-cache-persistence";

useIdentityPlugin(cachePersistencePlugin);

Dopo aver chiamato useIdentityPlugin, il plug-in della cache dei token persistente viene registrato nel @azure/identity pacchetto e sarà disponibile in tutte le credenziali che supportano la memorizzazione nella cache dei token persistenti (quelle che hanno tokenCachePersistenceOptions nelle opzioni del costruttore).

Esempio

Dopo aver registrato il plug-in, è possibile abilitare la persistenza della cache dei token passando tokenCachePersistenceOptions con una enabled proprietà impostata su true un costruttore di credenziali. Nell'esempio seguente viene usato , poiché la DeviceCodeCredentialmemorizzazione nella cache persistente dei relativi token consente di ignorare il flusso di autenticazione interattiva del codice del dispositivo se è disponibile un token memorizzato nella cache.

import { useIdentityPlugin, DeviceCodeCredential } from "@azure/identity";
import { cachePersistencePlugin } from "@azure/identity-cache-persistence";

useIdentityPlugin(cachePersistencePlugin);

async function main() {
  const credential = new DeviceCodeCredential({
    tokenCachePersistenceOptions: {
      enabled: true
    }
  });

  // We'll use the Microsoft Graph scope as an example
  const scope = "https://graph.microsoft.com/.default";

  // Print out part of the access token
  console.log((await credential.getToken(scope)).token.substr(0, 10), "...");
}

main().catch((error) => {
  console.error("An error occurred:", error);
  process.exit(1);
});

Risoluzione dei problemi

Registrazione

L'abilitazione della registrazione consente di individuare informazioni utili sugli errori. Per visualizzare un log di richieste e risposte HTTP, impostare la variabile di ambiente AZURE_LOG_LEVEL su info. In alternativa, la registrazione può essere abilitata in fase di esecuzione chiamando setLogLevel in @azure/logger:

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

Passaggi successivi

Commenti e suggerimenti

Se si riscontrano bug o si hanno suggerimenti, aprire un problema.

Contributo

Per contribuire a questa libreria, leggere la guida ai contributi per altre informazioni su come compilare e testare il codice.

Impression