MsalError クラス

定義

MsalException でプロパティとして返されるエラー コード

public static class MsalError
type MsalError = class
Public Class MsalError
継承
MsalError

フィールド

名前 説明
AccessDenied

アクセスが拒否されました。

AccessingWsMetadataExchangeFailed

WS メタデータへのアクセスExchange失敗しました。

どうなりますか?

AcquireTokenByUsernamePassword(IEnumerable<String>, String, String)を使用しようとしましたが、アカウントがフェデレーション アカウントです。

緩和策

ありません。 WS メタデータが見つからなかったか、予期した内容に対応していません。
AccessTokenTypeMissing

どうなりますか?

トークン エンドポイントからの応答には、token_type パラメーターが含まれていません。

緩和策

これは、ID プロバイダー (AAD、B2C、ADFS など) にアクセス トークンの種類がトークン応答に含まれていない場合に発生します。 ID プロバイダーの構成を確認します。
ActivityRequired

Android では、アクティビティを渡 AcquireTokenInteractiveParameterBuilder.WithParentActivityOrWindow(object) 呼び出す必要があります。 「https://aka.ms/msal-interactive-android」を参照してください。

AdfsNotSupportedWithBroker

どうなりますか?

ブローカーは ADFS 機関で構成されていますが、ADFS 環境はサポートされていません。

緩和策

ブローカーは ADFS 環境をサポートしていません。
AndroidBrokerOperationFailed

Android ブローカー操作を完了できませんでした

AndroidBrokerSignatureVerificationFailed

Android ブローカー署名の検証に失敗しました

AuthenticationCanceledError

認証が取り消されました。

どうなりますか?

認証ダイアログを閉じるなどして、ユーザーが認証を取り消した

緩和策

なし。保護された API を呼び出すトークンを取得することはできません。 ユーザーに通知する場合があります。
AuthenticationFailed

認証に失敗した。

どうなりますか?

認証に失敗しました。 たとえば、ユーザーが正しいパスワードを入力しなかった場合

緩和策

再試行するようにユーザーに通知します。
AuthenticationUiFailed

UI フローで不明なエラーが発生したため、要求を実行できませんでした。*

緩和策

ユーザーに通知します。
AuthenticationUiFailedError

UI フローでエラーが発生したため、要求を実行できませんでした。

どうなりますか?

ライブラリは、対話型認証を実行するために必要な Web ビューを呼び出できませんでした。 例外には理由が含まれる場合があります

緩和策

例外に理由が含まれている場合は、ユーザーに通知できます。 たとえば、Chrome タブを実装するブラウザーが Android フォンに表示されない可能性があります (この例外は他のプラットフォームにも適用できます)。
AuthorityHostMismatch

アプリケーション レベルで定義されているクラウド (機関 URL ホスト) は、要求レベルのクラウドと異なることはできません。

どうなりますか?

アプリケーション レベルで権限を定義していないため、既定ではパブリック クラウド (login.microsoft.com) ですが、要求レベルの権限は別のクラウド用です。 要求レベルで変更できるのはテナントだけです。

緩和策

追加。WithAuthority("https://login.windows-ppe.net/common) アプリケーション レベルで、要求レベルでテナントを指定します。WithAuthority("https://login.windows-ppe.net/1234-567-890-12345678).
AuthorityTenantSpecifiedTwice

どうなりますか?

テナントを 2 回指定しました 。WithAuthority() で 1 回、WithTenant() を使用して 1 回指定しました

緩和策

テナントを 1 回指定します。
AuthorityTypeMismatch

どうなりますか?

アプリケーション・レベルで構成された権限は、要求レベルで構成された権限とは異なります。

緩和策

同じ権限の種類が使用されていることを確認する
AuthorityValidationFailed

機関の検証に失敗しました。

どうなりますか?

権限の検証に失敗しました。 これは、機関が OIDC 標準に準拠していないか、セキュリティの問題が発生している可能性があるためです。

緩和策

別の機関を使用します。 権限を確実に信頼できる場合は、validateAuthority パラメーターを渡すWithAuthority(AadAuthorityAudience, Boolean)を使用してfalseできます (推奨されません)。
B2CAuthorityHostMismatch

B2C 権限ホストは、クライアント・アプリケーションの作成時に使用されるホストと同じではありません。

BrokerApplicationRequired

どうなりますか?

ブローカー アプリケーションが必要ですが、見つからないか、通信できませんでした。

緩和策

Authenticator などのブローカー アプリケーションをアプリケーション ストアからインストールする
BrokerDoesNotSupportPop

どうなりますか?

要求でブローカーが有効になっており、所有証明が構成されていますが、ブローカーは所有証明をサポートしていません

緩和策

は、Windows 上のパブリック クライアントに対してのみ所有証明を構成します。
BrokerNonceMismatch

ブローカー応答 nonce が、iOS ブローカー >= v6.3.19 の MSAL.NET によって送信された要求 nonce と一致しません

BrokerRequiredForPop

どうなりますか?

要求に所有証明が構成されていますが、ブローカーが有効になっていません。 ブローカーは、パブリック クライアントで所有証明を使用する必要があります

緩和策

所有証明が構成されている場合は、ブローカーを有効にします。
BrokerResponseHashMismatch

ブローカー応答ハッシュが一致しませんでした

BrokerResponseReturnedError

Broker の応答でエラーが返されました

CannotAccessUserInformationOrUserNotDomainJoined

ユーザー情報にアクセスできないか、ユーザーがユーザー ドメインではありません。

どうなりますか?

AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>)を使用しようとしましたが、ユーザーがドメイン ユーザーではありません (マシンがドメインまたは AAD に参加していません)
CannotInvokeBroker

MSAL はブローカーを呼び出すことができません。 考えられる理由は、ブローカーがユーザーのデバイスにインストールされていないか、UiParent または CallerViewController が null である問題が発生した場合です。 「https://aka.ms/msal-brokers」を参照してください。

CannotSwitchBetweenImdsVersionsForPreview

システムは既に IMDS V1 をフォールバックしており、ベアラー トークンのみを取得できます。 mTLS PoP トークンを取得するには、再起動する必要があります。

CertificateNotRsa

どうなりますか?

指定された証明書の種類が RSA ではありません。

緩和策

RSA 証明書を使用してください。
CertWithoutPrivateKey

どうなりますか?

指定された証明書に秘密キーがありません。

緩和策

証明書に秘密キーがあることを確認します。
ClientCredentialAuthenticationTypeMustBeDefined

どうなりますか?

認証の種類 (証明書、シークレット、クライアント アサーション) を使用せずに MSAL 機密クライアント認証を構成しました

緩和策

ConfidentialClientApplicationBuilder.WithClientSecret、ConfidentialClientApplicationBuilder.WithCertificate、ConfidentialClientApplicationBuilder.WithClientAssertion を呼び出す
ClientCredentialAuthenticationTypesAreMutuallyExclusive

どうなりますか?

複数の認証の種類 (証明書、シークレット、クライアント アサーション) を使用して MSAL 機密クライアント認証を構成しました
CodeExpired

どうなりますか?

デバイス コード フローのコンテキストで ( https://aka.ms/msal-net-device-code-flow)を参照してください)、このエラーは、ユーザーが別のデバイスにサインインする前にデバイス コードの有効期限が切れたときに発生します (通常は 15 分後です)。

緩和策

ありません。 指定された URL でサインインするのに時間がかかりすぎることをユーザーに通知し、指定されたコードを入力します。
CombinedUserAppCacheNotSupported

ファイルなどのフラット ストレージを組み合わせて使用して、アプリ トークンとユーザー トークンの両方を格納することはサポートされていません。 パーティション分割されたトークン キャッシュ (Redis などの分散キャッシュの場合など) を使用するか、アプリとユーザーのトークン キャッシュ用に個別のファイルを使用します。 「 https://aka.ms/msal-net-token-cache-serialization 」を参照してください。

CryptographicError

指定された証明書を使用しようとしたときに暗号化例外が発生しました

CurrentBrokerAccount

このエラー コードは、OperatingSystemAccount ユーザーが account パラメーターとして渡されたときに、AcquireTokenSilent(IEnumerable<String>, IAccount)呼び出しから返されます。 現在のユーザーにログインできるのは、一部のブローカー (WAM) のみです。

緩和策

Windowsで、ブローカーを使用します。WithBroker(true)、別のアカウントを使用する、または別の方法で呼び出すAcquireTokenInteractive(IEnumerable<String>)
CustomMetadataInstanceOrUri

どうなりますか?

URI と文字列の両方を使用して、独自のインスタンス メタデータを構成しました。 サポートされているのは 1 つだけです。

緩和策

WithInstanceDiscoveryMetadata を 1 回だけ呼び出します。 詳細については、 https://aka.ms/msal-net-custom-instance-metadata をご覧ください。
CustomWebUiRedirectUriMismatch

CustomWebUI が URI を返したが、構成されたリダイレクト URI の Authority と AbsolutePath と一致しない場合に使用されるエラー コード。

CustomWebUiReturnedInvalidUri

ICustomWebUiが URI を返したが無効な場合に使用されるエラー コード。null であるか、コードがありません。 コードを含む URI をインターセプトできない場合は、例外をスローすることを検討してください。

DefaultRedirectUriIsInvalid

RedirectUri 検証に失敗しました。

DeviceCertificateNotFound

デバイス証明書が見つかりません。

DuplicateQueryParameterError

extraQueryParameters で重複するクエリ パラメーターが見つかりました。

どうなりますか?

パブリック クライアントおよび機密クライアント アプリケーションでトークン取得操作のオーバーライドの extraQueryParameter を使用しており、URL に既に存在するパラメーターを渡しています (別の方法で使用したか、ライブラリによって追加されているため)。

軽減策 [アプリ開発]

トークン取得のオーバーライドから重複するパラメーターを RemoveAccount します。
EncodedTokenTooLong

エンコードされたトークンが長すぎます。

何が起きるか

機密クライアント アプリケーション呼び出しでは、MSAL によって構築されたクライアント アサーションが JWT トークンの最大長を超えています。
ExactlyOneScopeExpected

1 つのスコープが必要です。

ExperimentalFeature

どうなりますか?

試験段階としてマークされた機能を使用しようとしています

緩和策

PublicClientApplication または ConfidentialClientApplication を作成するときは、次を使用します。WithExperimentalFeatures() オプション。 詳細については、https://aka.ms/msal-net-experimental-features を参照してください。
FailedToAcquireTokenSilentlyFromBroker

トークンをサイレントで取得できませんでした。 ブローカー シナリオで使用されます。

何が起きるか

AcquireTokenSilent(IEnumerable<String>, IAccount)またはAcquireTokenSilent(IEnumerable<String>, String)を呼び出し、モバイル (Xamarin) アプリケーションがブローカー (Microsoft AuthenticatorまたはMicrosoft ポータル サイト) を利用しますが、ブローカーはトークンをサイレントで取得できませんでした。

緩和策

AcquireTokenInteractive(IEnumerable<String>) を呼び出す
FailedToGetBrokerResponse

どうなりますか?

ブローカーで認証しようとしていますが、MSAL がブローカーからの応答を読み取ることができません。

緩和策

現在インストールされているブローカーは MSAL をサポートしていない可能性があります。Xamarin、Intune ポータル サイト (5.0.4689.0 以上) またはMicrosoft Authenticator (6.2001.0140 以上) がインストールされていることを確認する必要があります。 https://aka.ms/Brokered-Authentication-for-Androidを参照してください。
FailedToRefreshToken

トークンを更新できませんでした。

どうなりますか?

トークンを更新できませんでした。 これは、ユーザーが長時間アプリケーションを使用していないために発生する可能性があります。 そのため、トークン キャッシュに保持されている更新トークンの有効期限が切れています

緩和策

対話機能をサポートするパブリック クライアント アプリケーションの場合は、対話型の要求を AcquireTokenInteractive(IEnumerable<String>)送信します。 それ以外の場合は、別のメソッドを使用してトークンを取得します。
FederatedServiceReturnedError

フェデレーション サービスからエラーが返されました。

緩和策

ありません。 フェデレーション サービスからエラーが返されました。 エラーの理解を深めるために例外の本文を確認し、軽減策を選択することができます
ForceRefreshNotCompatibleWithTokenHash

何が起きましたか?

操作では、トークン ハッシュを使用しながら、トークンの更新を強制しようとしました。 更新を強制するとトークン キャッシュがバイパスされ、トークン ハッシュ検証と競合するため、これら 2 つのオプションには互換性がありません。

軽減策:

- トークン ハッシュを使用する場合は、'force_refresh' が 'true' に設定されていないことを確認します。 - 要求パラメーターを確認して、競合しないことを確認します。 - トークン ハッシュが必要な場合は、強制的に更新するのではなく、キャッシュされたトークンを使用できるようにします。
GetUserNameFailed

ユーザー名を取得できませんでした。

HttpListenerError

ログインを完了するためのシステム ブラウザーのリッスン中に HttpListenerException が発生しました。

HttpStatusCodeNotOk

HTTP 応答が 200 とは異なる何かを返すときに使用される ErrorCode (OK)

HttpStatusNotFound

HTTP 応答が HttpStatusCode.NotFound を返すときに使用されるエラー コード

ImdsServiceError

IMDS 操作が失敗したときに返されるエラー コードを表します。

InitializeProcessSecurityError

どうなりますか?

管理者特権のプロセスで WAM アカウント ピッカーを有効にするプロセス セキュリティの設定に失敗しました。

緩和策

トラブルシューティングの詳細については、 https://aka.ms/msal-net-wam を参照してください。
IntegratedWindowsAuthenticationFailed

これは、これが認証されている ADFS 環境で構成の問題が発生した場合に発生する可能性があります。 詳細については、 https://aka.ms/msal-net-iwa-troubleshooting を参照してください

IntegratedWindowsAuthNotSupportedForManagedUser

統合Windows認証は、"フェデレーション" ユーザーに対してのみサポートされます

InteractionRequired

標準 OAuth2 プロトコルのエラー コード。 これは、ユーザーが対話型ログインを実行して更新された要求を含むトークンを取得できるように、アプリケーションが UI をユーザーに公開する必要があることを示します。

軽減策:

アプリケーションが IPublicClientApplication 呼び出しである場合は、対話型認証 AcquireTokenInteractive 実行します。 アプリケーションが ConfidentialClientApplication 場合は、例外の Claims メンバーが空ではない可能性があります。 適切な軽減策については、 Claims を参照してください
InternalCacheDisabled

何が起きましたか?

キャッシュ依存 API が呼び出されましたが、MSAL の内部トークン キャッシュは DisableInternalCacheOptionsを介して無効になっています。 これは、 AcquireTokenSilent(IEnumerable<String>, IAccount)AcquireTokenInLongRunningProcess(...)などの API で発生する可能性があります。

緩和策

MSAL の内部キャッシュに依存しない認証フロー (GetRefreshToken(AuthenticationResult)から取得した更新トークンを使用したAcquireTokenByRefreshToken(IEnumerable<String>, String)など) を使用するか、アプリケーションに応じて別の対話型フローを使用します。
InternalError

内部エラー。

InvalidAdalCacheMultipleRTs

どうなりますか?

ADAL キャッシュは、1 人のユーザーに対して複数の更新トークン エントリを含むため、無効です。

緩和策

ADAL キャッシュを削除します。 ADAL キャッシュを維持しない場合は、MSAL のバグである可能性があります。
InvalidAuthority

権限が無効です

何が起きるか

ライブラリが機関を検出し、トークンを取得するために必要なエンドポイントを取得しようとすると、承認されていない HTTP コードまたは予期しない応答が返されます

修復

アプリケーション用に構成された機関、または権限のオーバーライドをサポートするトークン取得トークンのいくつかのオーバーライドで渡された権限が正しいことを確認します
InvalidAuthorityType

権限の種類が無効です。 MSAL.NET は、アプリケーションのビルド時に指定された権限を操作する方法を知りません。

緩和策

別の機関を使用する
InvalidAuthorizationUri

承認 URI がインターセプトされましたが、解析できません。 詳細については、ログを参照してください。

InvalidCertificate

Imds サーバーから受信した証明書が無効です。

InvalidClient

構成の問題を示す AD サービス エラーをAzureします。

緩和策

詳細については、エラー メッセージを参照し、アプリ登録ポータルで修正アクションを実行します。詳細については、 https://aka.ms/msal-net-invalid-client を参照してください。
InvalidClientAssertion

WithClientAssertion デリゲートがnullまたは空の JWT 文字列を提供するときに返されます。

緩和策

デリゲートが空でない base-64 でエンコードされた JWT を返すようにします。
InvalidClientCredentialConfiguration

どうなりますか?

静的証明書 (WithCertificate(X509Certificate2)) と動的証明書プロバイダー (WithCertificate(Func)) の両方を構成しました。

緩和策

クライアント証明書を提供する方法を 1 つ選択します。
InvalidCredentialMaterial

何が起きましたか?

構成された資格情報の種類は、要求された認証モードと互換性がありません。 たとえば、mTLS ではトークンを TLS トランスポートにバインドするために証明書が必要であるため、mTLS Proof-of-Possession または SendCertificateOverMtls でクライアント シークレットを使用することはできません。

軽減策:

WithCertificate()経由で証明書ベースの資格情報を使用するか、mTLS 所有証明が必要な場合にTokenBindingCertificateClientSignedAssertionを返すデリゲートを使用します。
InvalidGrantError

標準 OAuth2 プロトコルのエラー コード。 これは、ユーザーが新しいトークンを取得するために対話型アクションを実行できるように、アプリケーションが UI をユーザーに公開する必要があることを示します。

軽減策:

アプリケーションが IPublicClientApplication 呼び出しである場合は、対話型認証 AcquireTokenInteractive 実行します。 アプリケーションが ConfidentialClientApplication 場合は、例外の Claims メンバーが空ではない可能性があります。 適切な軽減策については、 MsalServiceException.Claims を参照してください
InvalidInstance

構成された権限が存在しないことを示す AAD サービス エラー

InvalidJsonClaimsFormat

どうなりますか?

要求要求を構成しましたが、要求文字列が JSON 形式ではありません

緩和策

要求パラメーターが有効な JSON であることを確認します。 JSON 解析の詳細については、内部例外を調べます。
InvalidJwtError

JWT が無効でした。

どうなりますか?

ライブラリは JWT (キャッシュからのトークン、STS から受信したトークンなど) が必要ですが、形式が無効です

緩和策

トークン キャッシュが改ざんされていないことを確認する
InvalidManagedIdentityEndpoint

マネージド ID エンドポイントが無効です。

InvalidManagedIdentityIdType

マネージド ID のソースは、特定の ID の種類を選択しません。

InvalidManagedIdentityResponse

マネージド ID の応答に必要な値がありません。

InvalidOwnerWindowType

所有者ウィンドウの種類が無効です。

どうなりますか?

"AcquireTokenInteractiveParameterBuilder.WithParentActivityOrWindow(object)を使用しましたが、渡したパラメーターが無効です。

Remediation

.NET Standard では、想定されるオブジェクトは Android 上のActivity、iOS 上のUIViewController、MAC 上のNSWindow、WindowsのIWin32WindowまたはIntPrです。 WPF アプリケーションの場合は、WindowInteropHelper(wpfControl).Handleを使用して、WPF コントロールに関連付けられているウィンドウ ハンドルを取得できます。
InvalidRequest

要求が無効です。

どうなりますか?

これは、機関と互換性のないトークン取得方法を使用しているために発生する可能性があります。 たとえば、 AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) を呼び出したが、"/common" または "/consumers" で終わる機関を使用した場合は、テナント権限または '/organizations' が必要です。

緩和策

使用する AcquireTokenXX メソッドに権限を調整します ("共通" または "コンシューマー" を使用しないでください AcquireTokenByUsernamePassword(IEnumerable<String>, String, String)AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>)
InvalidTokenProviderResponseValue

トークン プロバイダーの応答に必要な値がありません

InvalidUserInstanceMetadata

どうなりますか?

独自のインスタンス メタデータを構成しましたが、指定された json は無効なようです。

緩和策

使用できる有効な json の例については、 https://aka.ms/msal-net-custom-instance-metadata を参照してください。
JsonParseError

JSON 解析に失敗しました。

どうなりますか?

トークン キャッシュから読み取られた JSON BLOB または STS から受信した JSON BLOB は解析できませんでした。 これは、トークン キャッシュを読み取ったり、STS から IDToken を受信したりするときに発生する可能性があります。

緩和策

トークン キャッシュが改ざんされていないことを確認する
LinuxXdgOpen

どうなりますか?

MSAL は、xdg-open、gnome-open、または kfmclient ツールを使用して Linux 上でブラウザーを開こうとしましたが、失敗しました。

緩和策

xdg-open ツールを使用してページを開くことができることを確認します。 詳細については、https://aka.ms/msal-net-os-browser を参照してください。
LoopbackRedirectUri

どうなりますか?

現在のリダイレクト URL はループバック URL ではありません。

緩和策

OS ブラウザーを使用するには、ポートの有無にかかわらず、アプリの登録時と IPublicClientApplication オブジェクトの初期化時の両方でループバック URL を構成する必要があります。 詳細については、https://aka.ms/msal-net-os-browser を参照してください。
LoopbackResponseUriMismatch

どうなりますか?

MSAL は、承認コードを含む可能性のある URI をインターセプトしましたが、構成されたリダイレクト URL と一致しません。

緩和策

ICustomWebUi 実装を使用している場合は、リダイレクト URL が認証コードを含む URL と一致していることを確認します。 ICustomWebUI を使用していない場合、これは中間者攻撃である可能性があります。
ManagedIdentityAllSourcesUnavailable

すべてのマネージド ID ソースは使用できません。

ManagedIdentityRequestFailed

マネージド ID エラー応答が受信されました。

ManagedIdentityResponseParseFailure

マネージド ID エラー応答が受信されました。

ManagedIdentityUnreachableNetwork

マネージド ID エンドポイントに到達できません。

MissingFederationMetadataUrl

フェデレーション メタデータ URL がフェデレーション ユーザーに存在しません。

MissingManagedIdentityEnvVar

マネージド ID に必要な環境変数がありません。

MissingPassiveAuthEndpoint

機関の OIDC 構成でパッシブ認証エンドポイントが見つかりませんでした

どうなりますか?

ライブラリが機関に移動し、そのオープン ID 接続構成を取得すると、パッシブ認証エンドポイント エントリが見つかると想定され、見つかりませんでした。

修復

アプリケーション用に構成された機関、または権限のオーバーライドをサポートするトークン取得トークンのいくつかのオーバーライドで渡された権限が正しいことを確認します
MissingTenantedAuthority

テナント権限がありません。 MSAL.NET では、アプリケーションのビルド時に mTLS のテナント権限 (つまり、テナント ID を持つ機関) を指定する必要がありますが、何も指定されていません。

緩和策

アプリケーションの構成時に、特定のテナント ID を含むテナント機関が指定されていることを確認します。 たとえば、"https://login.microsoftonline.com/{tenantId}" や同様の URL 構造を使用します。
MtlsBearerWithoutRegion

何が起きましたか?

mTLS Bearer は構成されていますが、リージョンが指定されていません。

緩和策

リージョン エンドポイントが必要であるため、mTLS Bearer を使用するときに AzureRegion 構成が設定されていることを確認します。
MtlsCertificateNotProvided

何が起きましたか?

mTLS 所有証明 (mTLS PoP) が構成されていますが、証明書が提供されませんでした。

緩和策

mTLS PoP を使用する場合は、セキュリティで保護された認証に必要であるため、構成で有効な証明書が提供されていることを確認します。
MtlsNotSupportedForManagedIdentity

何が起きましたか?

mTLS は、マネージド ID 認証ではサポートされていません。
MtlsPopNotSupportedForEnvironment

何が起きましたか?

mTLS 所有証明 (mTLS PoP) は、指定されたソブリン クラウド環境ではサポートされていません。

軽減策:

ソブリン クラウド環境でサポートされている代替エンドポイントを使用します。
MtlsPopTokenNotSupportedinImdsV1

mTLS PoP トークンは IMDS V1 ではサポートされていません。

MtlsPopWithoutRegion

何が起きましたか?

mTLS 所有証明 (mTLS PoP) が構成されていますが、リージョンが指定されていません。

緩和策

リージョン エンドポイントが必要であるため、mTLS PoP を使用するときに AzureRegion 構成が設定されていることを確認します。
MultipleAccountsForLoginHint

このエラー コードは、同じログイン ヒントを持つ複数のアカウントが見つかり、MSAL が 1 つを選択できないことを示します。 WithAccount(IAccount)を使用してアカウントを指定してください

MultipleTokensMatchedError

複数のトークンが一致しました。

どうなりますか?

この例外は、アプリケーションが複数の ID を管理する場合、 AcquireTokenSilent(IEnumerable<String>, IAccount) またはそのオーバーライドの 1 つを呼び出し、ユーザー トークン キャッシュにこのクライアント アプリケーションと指定されたアカウントの複数のトークンが含まれている場合に発生しますが、機関は異なります。

軽減策 [アプリ開発]

トークン取得操作で使用する権限を指定する
NetworkNotAvailableError
古い.

ネットワークがダウンしているため、要求を実行できませんでした。

軽減策 [アプリ開発]

アプリケーションで、ネットワークの問題があることをユーザーに通知するか、後で再試行することができます
NoAccountForLoginHint

このエラー コードは、指定されたログイン ヒントを持つアカウントが見つからなかったことを示します。

どうなりますか?

AcquireTokenSilent(IEnumerable<String>, String) または WithLoginHint(String) が、どのアカウントにも一致しない loginHint パラメーターを使用して呼び出されました GetAccountsAsync()

緩和策

loginHint について確信がある場合は、 AcquireTokenInteractive(IEnumerable<String>)
NoAndroidBrokerAccountFound

MSAL がブローカーで使用する適切なアカウントを見つけることができません

NoAndroidBrokerInstalledOnDevice

MSAL は、アカウントを認証するブローカー アプリケーションを見つけることができません。

NoClientId

どうなりますか?

クライアント ID を設定していません。

緩和策

アプリケーション ポータルのアプリケーション ID (GUID) をこの SDK のクライアント ID として使用する
NonceRequiredForPopOnPCA

どうなりますか?

要求には所有証明が構成されていますが、nonce が構成されていません。 パブリック クライアントでの所有証明には nonce が必要です

緩和策

所有証明がパブリック クライアント用に構成されている場合は、nonce を指定します。
NonHttpsRedirectNotSupported

HTTPS 以外のリダイレクトはサポートされていません

どうなりますか?

このエラーは、ユーザー資格情報を収集する承認フローが、サポートされていないページにリダイレクトされたときに発生します (たとえば、http 経由でリダイレクトが発生した場合)。 このエラーは、最終的なリダイレクトではトリガーされません。これは http://localhostできますが、中間リダイレクトの場合です。

緩和策

これは通常、正しくセットアップされていないフェデレーション ディレクトリを使用する場合に発生します。
NonParsableOAuthError

OAuth2 サーバーによってエラー応答が返され、解析できませんでした

NoPromptFailedError

次の 2 つの条件のいずれかが発生しました。

  • Prompt.NoPromptは対話型トークン呼び出しで渡されましたが、ユーザーの操作が必要であるため、制約を受け入れませんでした。たとえば、ユーザーが再サインインしたり、より多くのスコープに同意したり、複数要素認証を実行したりする必要があるためです。
  • サイレント Web 認証中にエラーが発生したため、認証フローが短時間で完了できませんでした。

修復:

アプリケーションのユーザーがサインインして同意を受け入れるように、 AcquireTokenInteractive を呼び出します。
NoRedirectUri

リダイレクト URI なし。

どうなりますか?

応答 URI/リダイレクト URI を指定する必要がありますが、呼び出されていません WithRedirectUri(String)
NoTokensFoundError

トークン キャッシュにトークンが見つかりませんでした。

軽減策:

アプリケーションが IPublicClientApplication 呼び出し AcquireTokenInteractive 場合、アプリケーションのユーザーがサインインして同意を受け入れるようにします。
  • Web アプリの場合は、前述のように IConfidentialClientApplication.AcquireTokenByAuthorizationCode を以前に呼び出しておく必要があります。 https://aka.ms/msal-net-authorization-code. 適切なスコープを要求したことを確認する必要があります。 詳細については、以下を参照してください。 https://github.com/Azure-Samples/ms-identity-aspnetcore-webapp-tutorial
  • このエラーは Web API では発生しません
NoUsernameOrAccountIDProvidedForSilentAndroidBrokerAuthentication

サイレント認証要求でユーザー名またはホーム アカウント ID が指定されていないため、Android アカウント マネージャーにクエリを実行できません。

NullIntentReturnedFromAndroidBroker

Null 意図が返されたため、ブローカー アクティビティを起動できません

OboCacheKeyNotInCacheError

どうなりますか?

トークン キャッシュには、AcquireTokenInLongRunningProcess(IEnumerable<String>, String)に渡されたlongRunningProcessSessionKeyと一致する OBO キャッシュ キーを持つトークンは含まれません。

緩和策

最初にこのlongRunningProcessSessionKeyを使用してInitiateLongRunningProcessInWebApi(IEnumerable<String>, String, String)を呼び出すか、既に使用されているlongRunningProcessSessionKeyAcquireTokenInLongRunningProcess(IEnumerable<String>, String)を呼び出します。
ParsingWsMetadataExchangeFailed

WS メタデータの解析Exchange失敗しました。

ParsingWsTrustResponseFailed

AcquireTokenByUsernamePassword(IEnumerable<String>, String, String)を使用すると、このエラーが発生する可能性があります(Azure AD テナントで所有されているマネージド ユーザーではなく、フェデレーション IdP が所有するフェデレーション ユーザーの場合) ID3242: セキュリティ トークンを認証または承認できませんでした。 ユーザーが存在しないか、間違ったパスワードを入力した

PasswordRequiredForManagedUserError

マネージド ユーザーにはパスワードが必要です。

どうなりますか?

AcquireTokenByUsernamePassword(IEnumerable<String>, String, String)を使用しているときにこのエラーが発生し、ユーザー (またはユーザー) がパスワードを指定しなかった場合。
PlatformNotSupported

ライブラリは、サポートされていないプラットフォームに読み込まれます。

RedirectUriValidationFailed

RedirectUri 検証に失敗しました。

どうなりますか?

リダイレクト URI/応答 URI が無効です

修正方法

有効なリダイレクト URI を渡します。
RegionalAndAuthorityOverride

どうなりますか?

要求レベルと WithAzureRegion で WithAuthority を構成しました。 これは、環境がアプリケーションから要求に変更された場合はサポートされません。

緩和策

代わりに、要求レベルで WithTenantId を使用してください。
RegionalAuthorityValidation

どうなりますか?

地域機関と機関の検証の両方を構成しました。 現在、証明機関の検証は、地域機関ではサポートされていません。

緩和策

Azure地域機関を使用するには、validateAuthority フラグを false に設定します。 信頼されていないソース (たとえば、401 応答が発生した HTTP 要求の WWWAuthenticate ヘッダーから) から権限を読み取る場合は、権限の検証を無効にしないでください。
RegionDiscoveryFailed

リージョンの検出に失敗しました。

RegionDiscoveryNotEnabled

どうなりますか?

WithAzureRegion が true に設定されている

緩和策

ADFS 機関に対してリージョン検出を実行することはできません。
RegionDiscoveryWithCustomInstanceMetadata

どうなりますか?

リージョン検出とカスタム インスタンス メタデータの両方を構成しました。 カスタム メタデータは、リージョンの検出よりも優先されます。

緩和策

リージョン検出またはカスタム インスタンス探索メタデータを構成します。
RegionRequiredForMtlsPop

何が起きましたか?

mTLS 所有証明 (mTLS PoP) では、特定のAzureリージョンを指定する必要があります。

軽減策:

リージョン エンドポイントが必要であるため、mTLS PoP を使用するときに AzureRegion 構成が設定されていることを確認します。
RequestThrottled

要求が調整されたことを示す HTTP エラー コード 429 がサービスから返されました。 詳細については、以下を参照してください。 https://aka.ms/msal-net-throttling

RequestTimeout

STS への HTTP 要求がタイムアウトしました。

緩和策

遅延後に再試行できます。
RopcDoesNotSupportMsaAccounts

MSA (Microsoft 個人用) アカウントで試行されたリソース所有者パスワード資格情報 (ROPC) の付与。 ROPC は MSA アカウントをサポートしていません。 詳細については、https://aka.ms/msal-net-ropc を参照してください。

ScopesRequired

どうなりますか?

スコープが要求されていません

緩和策

この認証フローには、少なくとも 1 つのスコープを指定する必要があります
ServiceNotAvailable

サービスが使用できず、500 から 599 の範囲内で HTTP エラー コードが返される

緩和策

遅延後に再試行できます。
SetCiamAuthorityAtRequestLevelNotSupported

要求レベルでの CIAM 機関 (例: "{tenantName}.ciamlogin.com") の設定はサポートされていません。 CIAM 権限は、アプリケーションの作成時に設定する必要があります。

SSHCertUsedAsHttpHeader

どうなりますか?

AAD から SSH 証明書を要求するように MSAL を構成し、HTTP 認証ヘッダーを書式設定しようとしています。

緩和策

SSH 証明書はベアラー トークンとして使用しないでください。 開発者は、ターゲット コンピューターに証明書を送信する責任があります。
StateMismatchError

STS から返された状態が、ライブラリから送信された状態と異なっていた

どうなりますか?

ライブラリは要求に関連付けられた状態を STS に送信し、応答が一貫性を持つ必要があります。 このエラーは、応答が要求に関連付けられていないことを示します。 これは、応答を再生しようとしたことを示している可能性があります

緩和策

なし
StaticCacheWithExternalSerialization

どうなりますか?

MSAL キャッシュのシリアル化は、相互に排他的な WithCacheOptions(CacheOptions) を介して静的内部キャッシュと同時に構成しました。

緩和策

1 つのオプションのみを使用します。 Web サイトと Web API のシナリオでは、内部キャッシュのシリアル化をスケーリングできないため、外部キャッシュのシリアル化に依存する必要があります。 「https://aka.ms/msal-net-cca-token-cache-serialization」を参照してください。
SystemWebviewOptionsNotApplicable

どうなりますか?

埋め込み WebView を使用するように MSAL 対話型認証を構成し、 SystemWebViewOptionsも構成しました。 これらは相互に排他的です。

緩和策

WithUseEmbeddedWebView(Boolean)を true に設定するか、使用しないWithSystemWebViewOptions(SystemWebViewOptions)
TelemetryConfigOrTelemetryCallback

どうなりますか?

テレメトリ コールバックとテレメトリ構成の両方を構成しました。

緩和策

構成できるテレメトリ メカニズムは 1 つだけです。
TenantDiscoveryFailedError

テナントの検出に失敗しました。

どうなりますか?

機関、承認エンドポイント、トークン エンドポイント、または発行者に関連付けられている OpenId 構成の読み取り中に、発行者が見つかりませんでした

緩和策

これは、Open ID Connect に準拠していない機関を示します。 アプリケーションのコンストラクターで別の権限を指定するか、トークン取得のオーバーライド /// を指定します。
TenantOverrideNonAad

どうなりますか?

要求レベルで WithTenant を構成しましたが、アプリケーションで AAD 以外の機関が使用されています。これらは相互に排他的です。

緩和策

WithTenantId は、AAD 機関と組み合わせてのみ使用できます。
TokenCacheNullError
古い.

このエラー コードは、ユーザー キャッシュがアプリケーション コンストラクターで設定されていない場合に、 AcquireTokenSilent(IEnumerable<String>, IAccount) 呼び出しから返されます。 これは、アプリケーションによってキャッシュが作成されるため、MSAL.NET 3.x では発生しません

TokenTypeMismatch

どうなりますか?

1 種類のトークンを要求しましたが、受け取りませんでした。

緩和策

これは、ID プロバイダー (AAD、B2C、ADFS など) が要求されたトークンの種類をサポートまたは実装していない場合に発生します。 ADFS の場合は、最新バージョンへのアップグレードを検討してください。
UapCannotFindDomainUser

OS (UWP) からユーザーにアクセスできない

何が起きるか

AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>)を呼び出しましたが、ドメイン ユーザー名が見つかりませんでした。

緩和策

これは、Package.appxmanifest で UWP アプリケーションにさらに機能を追加する必要があるためです。 「https://aka.ms/msal-net-uwp」を参照してください。
UapCannotFindUpn

OS (UWP) からユーザーを取得できません

何が起きるか

AcquireTokenByIntegratedWindowsAuth(IEnumerable<String>)を呼び出しましたが、ドメイン ユーザー名が見つかりませんでした。

緩和策

これは、Package.appxmanifest で UWP アプリケーションにさらに機能を追加する必要があるためです。 「https://aka.ms/msal-net-uwp」を参照してください。
UnableToParseAuthenticationHeader

MSAL は、エンドポイントから返された認証ヘッダーを解析できません。 これは、WWW-Authenticate または Authentication-Info コレクションで返されるヘッダーの形式が正しくない可能性があります。

UnauthorizedClient

クライアントがリソースにアクセスすることが許可されていません。 これは一般的に、モバイル アプリ管理 (MAM) ポリシーが有効になっている場合に発生します。 その場合、MSAL は protection_policy_required サブエラーで例外をスローします。

緩和策

例外をキャッチし、その中のプロパティを使用して、Intune SDK から適切なパラメーターを取得します。 IntuneAppProtectionPolicyRequiredException
UnknownBrokerError

不明なブローカー エラーが発生しました。

緩和策

ありません。 エンド ユーザーに通知することもできます。
UnknownError

不明なエラーが発生しました。

緩和策

ありません。 エンド ユーザーに通知することもできます。
UnknownManagedIdentityError

不明なエラー応答が受信されました。

UnknownUser

何が起きるか

このエラーは、 AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) IdP でユーザーが認識されていない場合に発生します。

緩和策

ユーザーに通知します。 ユーザーが指定したログインが正しくない可能性があります (空など)
UnknownUserType

何が起きるか

このエラーは、 AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) ユーザーがマネージド ユーザーまたはフェデレーション ユーザーとして認識されない場合に発生します。 Azure AD は、ユーザーを処理する必要がある IdP を識別できませんでした

緩和策

ユーザーに通知します。 ユーザーが指定したログインが正しくない可能性があります。
UpnRequired

loginHint は UPN にする必要があります

どうなりますか?

loginHintをパラメーターとして受け取るIPublicClientApplicationでトークン取得操作のオーバーライドが呼び出されましたが、このログイン ヒントでは UserPrincipalName (UPN) 形式が使用されていませんでした (サービスで想定john.doe@contoso.comなど)。

Remediation

コードで、 loginHint を UPN にすることを強制していることを確認します
UserAssertionNullError

このエラー コードは、null ユーザー アサーションが UserAssertion パラメーターとして渡されたときに、AcquireTokenOnBehalfOf(IEnumerable<String>, UserAssertion)呼び出しから返されます。

緩和策

ユーザー アサーションの有効な値を渡す
UserAssignedManagedIdentityNotConfigurableAtRuntime

ユーザー割り当てマネージド ID は、Service Fabric の実行時には構成できません。

UserAssignedManagedIdentityNotSupported

このソースでは、ユーザー割り当てマネージド ID はサポートされていません。

UserMismatch

ユーザーの不一致。

UserNullError

このエラー コードは、null ユーザーが account パラメーターとして渡されたときに、AcquireTokenSilent(IEnumerable<String>, IAccount)呼び出しから返されます。 これは、 account パラメーターを accounts.FirstOrDefault() に設定して AcquireTokenSilent を呼び出したが、 accounts が空である可能性があります。

緩和策

別のアカウントを渡すか、別の方法で呼び出す AcquireTokenInteractive(IEnumerable<String>)
UserRealmDiscoveryFailed

ユーザー領域の検出に失敗しました。

ValidateAuthorityOrCustomMetadata

どうなりますか?

独自のインスタンス メタデータを構成し、検証機関を true に設定しました。 これらは相互に排他的です。

緩和策

validate authority フラグを false に設定します。 詳細については、 https://aka.ms/msal-net-custom-instance-metadata をご覧ください。
WABError

どうなりますか?

Windows認証ブローカーは、ユーザーと AAD の間の対話を処理しますが、失敗しました。

緩和策

詳細については、エラー メッセージを参照してください。
WamFailedToSignout

WAM サインアウトに失敗しました。

WamInteractiveError

AcquireTokenInteractive を呼び出すときに発生する可能性がある WAM サービス例外

WamNoB2C

Windows ブローカー (WAM) は、"職場と学校" アカウントとMicrosoft アカウントとの組み合わせでのみサポートされます。

WamPickerError

AcquireTokenInteractive を呼び出し、アカウント ピッカーがポップアップ表示されたときに発生する可能性がある WAM サービス例外

WamScopesRequired

どうなりますか?

スコープが要求されていません

緩和策

MSAL ランタイム WAM に少なくとも 1 つのスコープを指定する必要があります
WamUiThread

WAM ブローカーで AcquireTokenInteractive を呼び出す場合は、UI スレッドから呼び出しを行う必要があります。

WebView2LoaderNotFound

どうなりますか?

ランタイム コンポーネントを読み込むことができないため、埋め込み WebView2 ブラウザーを起動できません。

緩和策

トラブルシューティングの詳細については、 https://aka.ms/msal-net-webview2 を参照してください。
WebView2NotInstalled

どうなりますか?

ランタイム コンポーネントがないため、埋め込みブラウザーを起動できません。

緩和策

埋め込みブラウザーには、WebView2 ランタイムをインストールする必要があります。 アプリのエンド ユーザーは、 https://go.microsoft.com/fwlink/p/?LinkId=2124703 から WebView2 ランタイムをダウンロードしてインストールし、アプリを再起動できます。 アプリ開発者は 、WebView2 ランタイムの再頒布可能バージョンを取得できます。
WebviewUnavailable

選択した WebView は、このプラットフォームでは使用できません。 WithUseEmbeddedWebView(Boolean)を使用して、別の WebView に切り替えることができます。 詳細については、 https://aka.ms/msal-net-os-browser を参照してください

WsTrustEndpointNotFoundInMetadataDocument

WS-Trust エンドポイントがメタデータ ドキュメントに見つかりません。

適用対象