Visual Studio Code 認証用の Azure ID プラグイン
このパッケージは、Visual Studio Code の "Azure アカウント" 拡張機能を介した認証を有効にする JavaScript 用 Azure Identity ライブラリ (@azure/identity
) にプラグインを提供します。 このプラグインは、 内@azure/identity
の の依存関係をVisualStudioCodeCredential
提供し、 の一部DefaultAzureCredential
として、または 独自に使用できるようにします。
作業の開始
import { useIdentityPlugin } from "@azure/identity";
import { vsCodePlugin } from "@azure/identity-vscode";
useIdentityPlugin(vsCodePlugin);
前提条件
- Azure サブスクリプション。
- Visual Studio Code と "Azure アカウント" 拡張機能をインストールする
パッケージをインストールする
このパッケージは、Azure Identity for JavaScript で使用するように設計されています。 と を使用してこのパッケージの両方 @azure/identity
を npm
インストールします。
$ npm install --save @azure/identity
$ npm install --save-dev @azure/identity-vscode
サポートされる環境
JavaScript 用の Azure Identity プラグインでは、v12 以降の安定した (番号付き) バージョンのNode.jsがサポートされます。 プラグインは他の Node バージョンで実行することができますが、サポートは保証されません。
@azure/identity-vscode
はブラウザー 環境をサポートしていません。
主要な概念
@azure/identity
または Microsoft ID プラットフォーム (Azure Active Directory) を初めて使用する場合は、まず「Microsoft ID プラットフォームで @azure/identity
を使用する」をお読みください。 このドキュメントでは、プラットフォームの詳細と、Azure アカウントを正しく構成する方法について説明しています。
Azure IDENTITY プラグイン
@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
すと、パッケージの @azure/identity
がVisualStudioCodeCredential
有効になります。 このプラグインが使用されていない場合、 VisualStudioCodeCredential
は を CredentialUnavailableError
スローし、 の DefaultAzureCredential
一部として使用することはできません。
Visual Studio Code 認証
VisualStudioCodeCredential
では、 "Azure アカウント" 拡張機能からの認証セッションが使用されます。 この資格情報を使用するには、拡張機能を使用して Azure アカウントにサインインする必要があります。 これを行うには、Visual Studio Code を開き、拡張機能がインストールされていることを確認し、[Azure: サインイン] オプションを使用して コマンド パレット からサインインしてブラウザー ウィンドウを開き、Azure にサインインします。 または、[Azure: デバイス コードでサインイン] を選択して、デバイス コード フローを使用することもできます。
サインイン後、サブスクリプションを選択する必要がある場合があります (たとえば、複数の Azure サブスクリプションがある場合)、メニューを使用して [Azure: サブスクリプションの選択] エントリを選択することで、アクティブなサブスクリプションを変更できます。
例
プラグインが登録されたら、 の他の資格情報クラスと同様の方法で @azure/identity
を使用VisualStudioCodeCredential
できます。
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);
});
を使用 DefaultAzureCredential
することもできます。これにより、Visual Studio Code の "Azure アカウント" 拡張機能を使用した認証が試みられます (使用可能な場合)。
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");
次のステップ
フィードバックの提供
バグが発生した場合や提案がある場合は、issue をオープンしてください。
共同作成
このライブラリに投稿する場合、コードをビルドしてテストする方法の詳細については、投稿ガイドを参照してください。
Azure SDK for JavaScript