MSAL ライブラリには、認証フローの動作をカスタマイズするために使用できる一連の構成オプションがあります。 これらのオプションは、 PublicClientApplication オブジェクトのコンストラクターで、または 要求 API の一部として設定できます。 ここでは、 PublicClientApplication コンストラクターに渡すことができる構成オブジェクトについて説明します。
Prerequisites
使用方法
構成オブジェクトは、 PublicClientApplication コンストラクターに渡すことができます。 必要な構成パラメーターは、アプリケーションの client_id のみです。 それ以外はすべて省略可能ですが、認証フロー、テナント、アプリケーション モデルによっては必要になる場合があります。
サポートされているすべてのパラメーターを持つ Configuration オブジェクトを次に示します。
// Call back APIs which automatically write and read into a .json file - example implementation
const beforeCacheAccess = async (cacheContext) => {
cacheContext.tokenCache.deserialize(await fs.readFile(cachePath, "utf-8"));
};
const afterCacheAccess = async (cacheContext) => {
if(cacheContext.cacheHasChanged){
await fs.writeFile(cachePath, cacheContext.tokenCache.serialize());
}
};
// Cache Plugin
const cachePlugin = {
beforeCacheAccess,
afterCacheAccess
};;
const msalConfig = {
auth: {
clientId: "enter_client_id_here",
authority: "https://login.microsoftonline.com/common",
knownAuthorities: [],
cloudDiscoveryMetadata: "",
azureCloudOptions: {
azureCloudInstance: "enter_AzureCloudInstance_here" // AzureCloudInstance enum is exported as a "type",
tenant: "enter_tenant_info" // defaults to "common"
}
},
cache: {
cachePlugin // your implementation of cache plugin
},
system: {
loggerOptions: {
loggerCallback(loglevel, message, containsPii) {
console.log(message);
},
piiLoggingEnabled: false,
logLevel: msal.LogLevel.Verbose,
},
}
}
const msalInstance = new PublicClientApplication(msalConfig);
オプション
認証構成オプション
| オプション |
説明 |
Format |
デフォルト値 |
clientId |
アプリケーションのアプリ ID。 アプリの登録のMicrosoft Entra 管理センターアプリの登録で確認できます。 |
UUID/GUID |
ありません。 MSAL でアクションを実行するには、このパラメーターが必要です。 |
authority |
認証と承認に使用するテナントの URI。 通常、次の形式をとります。 https://{uri}/{tenantid} |
テナントを含む URI 形式の文字列 - https://{uri}/{tenantid} |
https://login.microsoftonline.com/common |
knownAuthorities |
有効であることがわかっている URI の配列。 B2C シナリオで使用されます。 |
URI 形式の文字列の配列 |
空の配列 [] |
cloudDiscoveryMetadata |
クラウド検出応答を含む文字列。 Microsoft Entraシナリオで使用されます。 詳細については、「 パフォーマンス」 を参照してください。 |
文字列 |
空の文字列 "" |
authorityMetadata |
.well-known/openid-configuration エンドポイント応答を含む文字列。 詳細については、「 パフォーマンス」 を参照してください。 |
文字列 |
空の文字列 "" |
clientCapabilities |
xms_cc要求の一部としてすべてのネットワーク要求に追加する機能の配列 |
文字列の配列 |
[] |
azureCloudOptions |
開発者が既定で特定のクラウド機関に対して定義されている Azure クラウド オプションのセット。サポートされている特定のクラウドについては、AzureCloudInstance を参照してください |
AzureCloudOptions |
AzureCloudInstance.None |
キャッシュ構成オプション
| オプション |
説明 |
Format |
デフォルト値 |
cachePlugin |
キャッシュ永続化の読み取りと書き込みのコールバックを含むキャッシュ プラグイン (キャッシュも参照) |
ICachePlugin |
null 値 |
Broker の構成オプション
| オプション |
説明 |
Format |
デフォルト値 |
nativeBrokerPlugin |
ネイティブ トークン ブローカーを介してトークンを取得するためのブローカー プラグイン (「 ブローカー」も参照) |
INativeBrokerPlugin |
null 値 |
システム構成オプション
| オプション |
説明 |
Format |
デフォルト値 |
loggerOptions |
ロガーの構成オブジェクト。 |
以下を参照 してください。 |
以下を参照 してください。 |
NetworkClient |
カスタム HTTP 実装 |
INetworkModule |
HttpClient.ts |
protocolMode |
使用するプロトコル モードを表す列挙型。
"AAD"場合は、Microsoft Entra v2 エンドポイントで機能します。"OIDC"場合は、OIDC 準拠のエンドポイントで機能します。 |
文字列 |
"AAD" |
disableInternalRetries |
true の場合、MSAL は失敗したネットワーク要求を再試行しません |
boolean |
false |
Note
MSAL Node v5 では、 proxyUrl パラメーターと customAgentOptions パラメーターが削除されました。 アプリケーションでプロキシのサポートが必要な場合は、 INetworkModule を使用してカスタム HTTP クライアントを実装します。 例については、 カスタム INetworkModule サンプル を参照してください。
protocolMode パラメーターも認証構成からシステム構成に移動されました。
Logger 構成オプション
| オプション |
説明 |
Format |
デフォルト値 |
loggerCallback |
MSAL ステートメントのログ記録を処理するコールバック関数。 |
関数- loggerCallback: (level: LogLevel, message: string, containsPii: boolean): void |
上記を参照してください。 |
piiLoggingEnabled |
true の場合、個人を特定できる情報 (PII) がログに含まれます。 |
boolean |
false |
テレメトリ構成オプション
| オプション |
説明 |
Format |
デフォルト値 |
application |
MSAL.js を使用するアプリケーションのテレメトリ オプション |
以下を参照 してください |
以下を参照 してください |
アプリケーション テレメトリ
| オプション |
説明 |
Format |
デフォルト値 |
appName |
アプリケーションの一意の文字列名 |
文字列 |
空の文字列 "" |
appVersion |
MSAL を使用したアプリケーションのバージョン |
文字列 |
空の文字列 "" |
次のステップ
トークンを取得するための msal-node によって提供されるパブリック API の理解に進 みます。