トークン キャッシュ永続化用の Azure ID プラグイン

このパッケージは、永続的なトークン キャッシュを有効にする JavaScript () 用の Azure Identity ライブラリに@azure/identityプラグインを提供します。 トークン キャッシュの永続化により、組み込みのトークン キャッシュは、ローカル オペレーティング システムによって提供されるセキュリティで保護されたストレージ システムを使用してセッション間で保持できます。

ソースコード | サンプル

作業の開始

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

useIdentityPlugin(cachePersistencePlugin);

前提条件

パッケージをインストールする

このパッケージは、Azure Identity for JavaScript で使用するように設計されています。 と の両方 @azure/identity を使用してこのパッケージを npmインストールします。

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

サポートされる環境

JavaScript 用の Azure Identity プラグインでは、v12 以降の安定した (番号付き) バージョンのNode.jsがサポートされます。 プラグインは他の Node バージョンで実行される可能性があります。サポートは保証されません。 @azure/identity-cache-persistence はブラウザー環境をサポートしていません

主要な概念

@azure/identity または Microsoft ID プラットフォーム (Azure Active Directory) を初めて使用する場合は、まず「Microsoft ID プラットフォームで @azure/identity を使用する」をお読みください。 このドキュメントでは、プラットフォームの詳細と、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 { 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_LEVELinfo に設定します。 または、@azure/loggersetLogLevel を呼び出して、実行時にログ記録を有効にすることもできます。

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

setLogLevel("info");

次のステップ

フィードバックの提供

バグが発生した場合や提案がある場合は、issue をオープンしてください。

共同作成

このライブラリに投稿する場合、コードをビルドしてテストする方法の詳細については、投稿ガイドを参照してください。

インプレッション数