このパッケージはJavaScript用のAzure Identityライブラリ(@azure/identity)に永続的なトークンキャッシュを可能にするプラグインを提供します。 トークンキャッシュの永続性により、ローカルOSが提供する安全なストレージシステムを使って、組み込みのトークンキャッシュがセッション間で永続化できます。
作業の開始
前提条件
パッケージをインストールする
このパッケージはJavaScript用のAzure Identityで使用することを想定して設計されています。
@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 Entra IDを使うのが初めてなら、まずUsing @azure/identity with Microsoft Entra IDを読むことをお勧めします。 このドキュメントはプラットフォームの理解とAzureアカウントの正しい設定方法を詳しく理解してくれます。
Azure Identity Plugins
バージョン 2.0.0 @azure/identity 時点で、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があるもの)で利用可能になります。
例示
プラグインが登録されると、tokenCachePersistenceOptionsenabledプロパティをtrueして認証情報構造体に渡すことでトークンキャッシュの永続化を有効化できます。 以下の例では、トークンの永続キャッシュにより、キャッシュトークンが利用可能な場合にインタラクティブなデバイスコード認証フローをスキップできるため、 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
このライブラリに貢献したい場合は、コードのビルドやテスト方法について詳しく知るために、contributing guideをお読みください。
Azure SDK for JavaScript