이 패키지는 자바스크립트용 Azure Identity 라이브러리(@azure/identity)에 지속적인 토큰 캐싱을 가능하게 하는 플러그인을 제공합니다. 토큰 캐시 지속성은 로컬 운영체제가 제공하는 안전한 저장 시스템을 통해 세션 간에 내장된 토큰 캐시를 지속할 수 있게 합니다.
시작하기
사전 요구 사항
패키지 설치
이 패키지는 Azure Identity for JavaScript와 함께 사용하도록 설계되었습니다.
@azure/identity사용하여 npm 및 이 패키지를 모두 설치합니다.
$ npm install --save @azure/identity
$ npm install --save @azure/identity-cache-persistence
지원되는 환경
Azure Identity 자바스크립트 플러그인은 v12부터 안정적(짝수 번호) 버전의 Node.js을 지원합니다. 플러그인들이 다른 Node 버전에서 실행될 수 있지만, 지원이 보장되지 않습니다.
@azure/identity-cache-persistence
브라우저 환경을 지원하지 않습니다.
주요 개념
만약 @azure/identity 또는 Microsoft Entra ID를 처음 사용한다면, 먼저 Using @azure/identity와 Microsoft Entra ID를 읽어보시길 권장합니다. 이 문서는 플랫폼과 Azure 계정을 올바르게 설정하는 방법에 대해 더 깊이 이해할 수 있도록 도와줄 것입니다.
Azure Identity Plugins
@azure/identity 버전 2.0.0을 기준으로 JavaScript용 ID 클라이언트 라이브러리에는 플러그 인 API가 포함되어 있습니다. 이 패키지(@azure/identity-cache-persistence)는 인수로 전달해야 하는 플러그 인 개체를 useIdentityPlugin 패키지의 최상위 @azure/identity 함수로 내보냅니다. 프로그램에서 다음과 같이 토큰 캐시 영속성을 활성화하세요:
import { useIdentityPlugin } from "@azure/identity";
import { cachePersistencePlugin } from "@azure/identity-cache-persistence";
useIdentityPlugin(cachePersistencePlugin);
를 호출 useIdentityPlugin하면 영구 토큰 캐시 플러그인이 패키지에 @azure/identity 등록되며, 영구 토큰 캐싱을 지원하는 모든 자격 증명( tokenCachePersistenceOptions 생성자 옵션에 포함된 자격증명)에서 사용할 수 있습니다.
예제
플러그인이 등록되면, 속성 를 에 true 설정한 값을 증명 생성자에 전달 tokenCachePersistenceOptionsenabled 하여 토큰 캐시 지속성을 활성화할 수 있습니다. 다음 예에서는 토큰의 지속적인 캐싱을 통해 캐시된 토큰이 있을 경우 인터랙티브 장치 코드 인증 흐름을 건너뛸 수 있기 때문에 를 DeviceCodeCredential사용합니다.
import { DeviceCodeCredential } from "@azure/identity";
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.substring(0, 10), "...");
Troubleshooting
로깅
로깅을 사용하도록 설정하면 오류에 대한 유용한 정보를 파악하는 데 도움이 될 수 있습니다. HTTP 요청 및 응답 로그를 보려면 AZURE_LOG_LEVEL 환경 변수를 info설정합니다. 또는 setLogLevel@azure/logger 호출하여 런타임에 로깅을 사용하도록 설정할 수 있습니다.
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
다음 단계
피드백 제공
버그가 있거나 제안이 있으시면 open a issue 주세요.
Contributing
이 라이브러리에 기여하고 싶으시다면, 코드 빌드 및 테스트 방법에 대해 더 알고 싶다면 기여 가이드를 읽어보시기 바랍니다.
Azure SDK for JavaScript