Visual Studio Code 인증을 위한 Azure ID 플러그 인
이 패키지는 Visual Studio Code 대한 "Azure 계정" 확장을 통해 인증을 사용하도록 설정하는 JavaScript용 Azure ID 라이브러리(@azure/identity
)에 대한 플러그 인을 제공합니다. 이 플러그 인은 의 @azure/identity
종속성을 VisualStudioCodeCredential
제공하고 자체 또는 의 DefaultAzureCredential
일부로 사용할 수 있도록 합니다.
시작
import { useIdentityPlugin } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
사전 요구 사항
패키지 설치
이 패키지는 JavaScript용 Azure ID와 함께 사용하도록 설계되었습니다. 를 사용하여 및 이 패키지를 모두 @azure/identity
설치합니다 npm
.
$ npm install --save @azure/identity
$ npm install --save-dev @azure/identity-vscode
지원되는 환경
JavaScript용 Azure ID 플러그 인은 v12부터 안정적인(짝수 번호가 매겨진) 버전의 Node.js 지원합니다. 플러그 인은 다른 노드 버전에서 실행 될 수 있지만 지원은 보장되지 않습니다.
@azure/identity-vscode
는 브라우저 환경을 지원하지 않습니다.
주요 개념
@azure/identity
또는 Microsoft ID 플랫폼(Azure Active Directory)을 처음 사용하는 경우 먼저 Microsoft ID 플랫폼과 함께 @azure/identity
사용을 읽는 것이 좋습니다. 이 문서를 통해 플랫폼과 Azure 계정을 올바르게 구성하는 방법을 자세히 이해할 수 있습니다.
Azure ID 플러그 인
@azure/identity
버전 2.0.0을 기준으로 JavaScript용 ID 클라이언트 라이브러리에는 플러그 인 API가 포함되어 있습니다. 이 패키지(@azure/identity-vscode
)는 패키지에서 최상위 useIdentityPlugin
함수에 인수로 전달해야 하는 플러그 인 개체를 @azure/identity
내보냅니다. 다음과 같이 Visual Studio Code "Azure 계정" 확장을 통해 인증을 사용하도록 설정합니다.
import { useIdentityPlugin } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
를 호출 useIdentityPlugin
하면 VisualStudioCodeCredential
패키지의 가 @azure/identity
사용하도록 설정됩니다. 이 플러그 인을 사용하지 VisualStudioCodeCredential
않으면 가 throw CredentialUnavailableError
되고 의 DefaultAzureCredential
일부로 사용할 수 없습니다.
Visual Studio Code 인증
VisualStudioCodeCredential
는 "Azure 계정" 확장의 인증 세션을 사용합니다. 이 자격 증명을 사용하려면 확장을 사용하여 Azure 계정에 로그인해야 합니다. 이렇게 하려면 Visual Studio Code 열고 확장이 설치되어 있는지 확인하고 "Azure: 로그인" 옵션을 사용하여 명령 팔레트에서 로그인하여 브라우저 창을 열고 Azure에 로그인합니다. 또는 "Azure: 디바이스 코드로 로그인"을 선택하여 디바이스 코드 흐름을 사용할 수 있습니다.
로그인한 후 구독(예: 여러 Azure 구독이 있는 경우)을 선택해야 할 수 있으며 메뉴를 사용하여 활성 구독을 변경하여 "Azure: 구독 선택" 항목을 선택할 수 있습니다.
예
플러그 인이 등록되면 의 다른 자격 증명 클래스와 비슷한 방식으로 를 사용할 VisualStudioCodeCredential
수 있습니다.@azure/identity
import { useIdentityPlugin, VisualStudioCodeCredential } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
async function main() {
const credential = new VisualStudioCodeCredential();
// The graph.microsoft.com scope is used 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);
});
사용 가능한 경우 Visual Studio Code 대해 "Azure 계정" 확장을 사용하여 인증을 시도하는 를 사용할 DefaultAzureCredential
수도 있습니다.
import { useIdentityPlugin, DefaultAzureCredential } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
async function main() {
// With the plugin enabled above, `DefaultAzureCredential` will use
// Visual Studio Code's "Azure Account" extension to authenticate if
// it is available.
const credential = new DefaultAzureCredential();
// This will print a JWT access_token and its expiration timestamp
// The graph.microsoft.com scope is used as an example
console.log("Token:", await credential.getToken("https://graph.microsoft.com/.default"));
}
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