토큰 캐시 지속성을 위한 Azure ID 플러그 인
이 패키지는 영구 토큰 캐싱을 사용하도록 설정하는 JavaScript(@azure/identity
)용 Azure ID 라이브러리에 대한 플러그 인을 제공합니다. 토큰 캐시 지속성을 사용하면 기본 제공 토큰 캐시가 로컬 운영 체제에서 제공하는 보안 스토리지 시스템을 사용하여 세션 간에 유지됩니다.
시작
import { useIdentityPlugin } from "@azure/identity";
import { cachePersistencePlugin } from "@azure/identity-cache-persistence";
useIdentityPlugin(cachePersistencePlugin);
사전 요구 사항
패키지 설치
이 패키지는 JavaScript용 Azure ID와 함께 사용하도록 설계되었습니다. 를 사용하여 및 이 패키지를 모두 @azure/identity
설치합니다 npm
.
$ npm install --save @azure/identity
$ npm install --save @azure/identity-cache-persistence
지원되는 환경
JavaScript용 Azure ID 플러그 인은 v12부터 안정적인(짝수 번호가 매겨진) 버전의 Node.js 지원합니다. 플러그 인은 다른 노드 버전에서 실행 될 수 있지만 지원은 보장되지 않습니다.
@azure/identity-cache-persistence
브라우저 환경을 지원하지 않습니다.
주요 개념
@azure/identity
또는 Microsoft ID 플랫폼(Azure Active Directory)을 처음 사용하는 경우 먼저 Microsoft ID 플랫폼과 함께 @azure/identity
사용을 읽는 것이 좋습니다. 이 문서를 통해 플랫폼과 Azure 계정을 올바르게 구성하는 방법을 자세히 이해할 수 있습니다.
Azure ID 플러그 인
@azure/identity
버전 2.0.0을 기준으로 JavaScript용 ID 클라이언트 라이브러리에는 플러그 인 API가 포함되어 있습니다. 이 패키지(@azure/identity-cache-persistence
)는 인수로 전달해야 하는 플러그 인 개체를 패키지의 @azure/identity
최상위 useIdentityPlugin
함수로 내보냅니다. 다음과 같이 프로그램에서 토큰 캐시 지속성을 사용하도록 설정합니다.
import { useIdentityPlugin } from "@azure/identity";
import { cachePersistencePlugin } from "@azure/identity-cache-persistence";
useIdentityPlugin(cachePersistencePlugin);
를 호출 useIdentityPlugin
한 후 영구 토큰 캐시 플러그 인은 패키지에 @azure/identity
등록되며 영구 토큰 캐싱을 지원하는 모든 자격 증명(생성자 옵션에 있는 tokenCachePersistenceOptions
자격 증명)에서 사용할 수 있습니다.
예
플러그 인이 등록되면 로 설정된 true
속성을 자격 증명 생성자로 전달 tokenCachePersistenceOptions
enabled
하여 토큰 캐시 지속성을 사용하도록 설정할 수 있습니다. 다음 예제에서는 토큰의 영구 캐싱을 사용하면 캐시된 토큰을 사용할 수 있는 경우 대화형 디바이스 코드 인증 흐름을 건너뛸 수 있으므로 를 사용합니다 DeviceCodeCredential
.
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);
});
문제 해결
로깅
로깅을 사용하도록 설정하면 실패에 대한 유용한 정보를 파악하는 데 도움이 될 수 있습니다. HTTP 요청 및 응답 로그를 보려면 AZURE_LOG_LEVEL
환경 변수를 info
로 설정합니다. 또는 @azure/logger
에서 setLogLevel
을 호출하여 런타임에 로깅을 사용하도록 설정할 수 있습니다.
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
다음 단계
피드백 제공
버그가 발생하거나 제안이 있는 경우 문제를 열어주세요.
참여
이 라이브러리에 기여하려면 기여 가이드 를 참조하여 코드를 빌드하고 테스트하는 방법에 대해 자세히 알아보세요.
Azure SDK for JavaScript