MicrosoftIdentityAuthenticationException クラス

定義

MicrosoftIdentityMessageHandlerによる HTTP メッセージ処理中に認証が失敗した場合にスローされる例外。

public class MicrosoftIdentityAuthenticationException : Exception
type MicrosoftIdentityAuthenticationException = class
    inherit Exception
Public Class MicrosoftIdentityAuthenticationException
Inherits Exception
継承
MicrosoftIdentityAuthenticationException

一般的な例外処理パターン:

try
{
    var response = await httpClient.SendAsync(request, cancellationToken);
    response.EnsureSuccessStatusCode();
}
catch (MicrosoftIdentityAuthenticationException authEx)
{
    // Handle authentication-specific failures
    logger.LogError(authEx, "Authentication failed: {Message}", authEx.Message);
    throw; // Re-throw or handle as appropriate
}
catch (HttpRequestException httpEx)
{
    // Handle other HTTP-related failures
    logger.LogError(httpEx, "HTTP request failed: {Message}", httpEx.Message);
}

注釈

この例外は、通常、次のシナリオでスローされます。

  • 認証オプションが構成されていない (既定でも要求ごとでもない)
  • 認証オプションにスコープが指定されていない
  • 認証プロバイダーの問題が原因でトークンの取得が失敗する

WWW-Authenticate チャレンジ処理に関する注意事項: ダウンストリーム API が追加の要求 (条件付きアクセスの場合など) を含む WWW-Authenticate ヘッダーを含む 401 Unauthorized 応答を返すと、ハンドラーは WwwAuthenticateParameters を使用してこれらの要求を自動的に抽出し、要求された要求を含む新しいトークンの取得を試みます。 この自動再試行が成功した場合、例外はスローされません。 再試行も 401 で失敗した場合、応答は例外をスローせずに呼び出し元に返されます。呼び出し元は状態コードを確認する必要があります。 例外は、HTTP 401 応答自体ではなく、トークン取得エラーに対してのみスローされます。

この例外を処理する場合は、 Message プロパティを調べて、認証エラーの原因に関する具体的な詳細を確認します。 内部例外が存在する場合は、基になる認証プロバイダーからの追加情報が含まれている可能性があります。

コンストラクター

名前 説明
MicrosoftIdentityAuthenticationException(String, Exception)

指定したエラー メッセージと、この例外の原因である内部例外への参照を使用して、 MicrosoftIdentityAuthenticationException クラスの新しいインスタンスを初期化します。

MicrosoftIdentityAuthenticationException(String)

指定したエラー メッセージを使用して、 MicrosoftIdentityAuthenticationException クラスの新しいインスタンスを初期化します。

適用対象

こちらもご覧ください