Udostępnij za pośrednictwem


Wtyczka tożsamości platformy Azure dla trwałości pamięci podręcznej tokenów

Ten pakiet udostępnia wtyczkę do biblioteki tożsamości platformy Azure dla języka JavaScript (@azure/identity), która umożliwia trwałe buforowanie tokenów. Trwałość pamięci podręcznej tokenu umożliwia wbudowanej pamięci podręcznej tokenów utrwalanie między sesjami przy użyciu bezpiecznego systemu magazynu dostarczonego przez lokalny system operacyjny.

Kod | źródłowy Próbki

Wprowadzenie

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

useIdentityPlugin(cachePersistencePlugin);

Wymagania wstępne

Instalowanie pakietu

Ten pakiet jest przeznaczony do użycia z usługą Azure Identity dla języka JavaScript. Zainstaluj zarówno pakiet, jak @azure/identity i ten przy użyciu polecenia npm:

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

Obsługiwane środowiska

Wtyczki tożsamości platformy Azure dla języka JavaScript obsługują stabilne (parzysty) wersje Node.js począwszy od wersji 12. Chociaż wtyczki mogą być uruchamiane w innych wersjach środowiska Node, nie ma gwarantowanej obsługi. @azure/identity-cache-persistence nie obsługuje środowisk przeglądarki.

Kluczowe pojęcia

Jeśli po raz pierwszy używasz @azure/identity usługi lub Platforma tożsamości Microsoft (Azure Active Directory), najpierw zalecamy przeczytanie artykułu Using with Microsoft Identity Platform (Korzystanie @azure/identity z platformy tożsamości microsoft). Ten dokument zawiera bardziej szczegółowe informacje na temat platformy i sposobu prawidłowego konfigurowania konta platformy Azure.

Wtyczki tożsamości platformy Azure

@azure/identity Od wersji 2.0.0 biblioteka klienta identity dla języka JavaScript zawiera interfejs API wtyczki. Ten pakiet (@azure/identity-cache-persistence) eksportuje obiekt wtyczki, który należy przekazać jako argument do funkcji najwyższego @azure/identity poziomu useIdentityPlugin z pakietu. Włącz trwałość pamięci podręcznej tokenu w programie w następujący sposób:

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

useIdentityPlugin(cachePersistencePlugin);

Po wywołaniu useIdentityPluginfunkcji wtyczka trwałej pamięci podręcznej tokenu jest zarejestrowana w @azure/identity pakiecie i będzie dostępna we wszystkich poświadczeniach obsługujących trwałe buforowanie tokenów (tych, które mają tokenCachePersistenceOptions opcje konstruktora).

Przykłady

Po zarejestrowaniu wtyczki można włączyć trwałość pamięci podręcznej tokenu, przekazując tokenCachePersistenceOptionsenabled właściwość ustawioną na true konstruktor poświadczeń. W poniższym przykładzie używamy DeviceCodeCredentialelementu , ponieważ trwałe buforowanie jego tokenów pozwala pominąć interaktywny przepływ uwierzytelniania kodu urządzenia, jeśli jest dostępny buforowany token.

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

Rozwiązywanie problemów

Rejestrowanie

Włączenie rejestrowania może pomóc odkryć przydatne informacje o błędach. Aby wyświetlić dziennik żądań i odpowiedzi HTTP, ustaw zmienną AZURE_LOG_LEVEL środowiskową na info. Alternatywnie rejestrowanie można włączyć w czasie wykonywania, wywołując setLogLevel polecenie w pliku @azure/logger:

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

setLogLevel("info");

Następne kroki

Przekazywanie opinii

Jeśli napotkasz usterki lub masz sugestie, otwórz problem.

Współtworzenie

Jeśli chcesz współtworzyć tę bibliotekę, przeczytaj przewodnik współtworzenia , aby dowiedzieć się więcej na temat tworzenia i testowania kodu.

Wrażenia