Partilhar via


Plug-in de identidade do Azure para persistência de cache de token

Este pacote fornece um plug-in para a biblioteca de Identidade do Azure para JavaScript (@azure/identity) que habilita o cache de token persistente. A persistência do cache de token permite que o cache de token interno persista entre sessões usando um sistema de armazenamento seguro fornecido pelo sistema operacional local.

Código fonte | Exemplos

Primeiros passos

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

useIdentityPlugin(cachePersistencePlugin);

Pré-requisitos

  • Uma assinatura do Azure.

Instalar o pacote

Este pacote foi projetado para ser usado com o Azure Identity for JavaScript. Instale o @azure/identity e este pacote usando npm:

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

Ambientes suportados

Os plug-ins do Azure Identity para JavaScript suportam versões estáveis (numeradas pares) do Node.js a partir da v12. Embora os plugins possam ser executados em outras versões do Node, nenhum suporte é garantido. @azure/identity-cache-persistence não suporta ambientes de navegadores.

Conceitos-chave

Se esta for a primeira vez que você usa o @azure/identity ou a plataforma de identidade da Microsoft (Azure Ative Directory), recomendamos que você leia Usando @azure/identity com a Microsoft Identity Platform primeiro. Este documento lhe dará uma compreensão mais profunda da plataforma e como configurar sua conta do Azure corretamente.

Plug-ins do Azure Identity

A partir de @azure/identity versão 2.0.0, a biblioteca de cliente Identity para JavaScript inclui uma API de plug-in. Este pacote (@azure/identity-cache-persistence) exporta um objeto de plugin que você deve passar como um argumento para a função de useIdentityPlugin de nível superior do pacote @azure/identity. Habilite a persistência de cache de token em seu programa da seguinte maneira:

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

useIdentityPlugin(cachePersistencePlugin);

Depois de chamar useIdentityPlugin, o plug-in de cache de token persistente é registrado no pacote @azure/identity e estará disponível em todas as credenciais que suportam cache de token persistente (aquelas que têm tokenCachePersistenceOptions em suas opções de construtor).

Exemplos

Depois que o plug-in for registrado, você poderá habilitar a persistência do cache de token passando tokenCachePersistenceOptions com uma propriedade enabled definida como true a um construtor de credenciais. No exemplo a seguir, usamos o DeviceCodeCredential, já que o cache persistente de seus tokens permite que você ignore o fluxo interativo de autenticação de código de dispositivo se um token armazenado em cache estiver disponível.

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);
});

Solução de problemas

Registo

Habilitar o registro em log pode ajudar a descobrir informações úteis sobre falhas. Para ver um log de solicitações e respostas HTTP, defina a variável de ambiente AZURE_LOG_LEVEL como info. Como alternativa, o registro em log pode ser habilitado em tempo de execução chamando setLogLevel no @azure/logger:

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

setLogLevel("info");

Próximos passos

Fornecer comentários

Se você encontrar bugs ou tiver sugestões, por favor, abrir um problema.

Contribuição

Se você quiser contribuir para esta biblioteca, leia o guia de contribuição para saber mais sobre como criar e testar o código.

Impressões