次の方法で共有


customAuthenticationExtension: validateAuthenticationConfiguration

名前空間: microsoft.graph

customAuthenticationExtension オブジェクトのエンドポイントと認証構成の有効性をチェックする API。これは、次の派生型のいずれかを表すことができます。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。

アクセス許可の種類 最小特権アクセス許可 より高い特権のアクセス許可
委任 (職場または学校のアカウント) CustomAuthenticationExtension.Read.All CustomAuthenticationExtension.ReadWrite.All
委任 (個人用 Microsoft アカウント) サポートされていません。 サポートされていません。
アプリケーション CustomAuthenticationExtension.Read.All CustomAuthenticationExtension.ReadWrite.All

重要

職場または学校アカウントを使用する委任されたシナリオでは、管理者にサポートされているMicrosoft Entraロールまたはサポートされているロールのアクセス許可を持つカスタム ロールを割り当てる必要があります。 この操作では、次の最小特権ロールがサポートされています。

  • 認証機能拡張管理者
  • アプリケーション管理者

HTTP 要求

カスタムAuthenticationExtensionのエンドポイントと認証構成を ID で検証する。

POST /identity/customAuthenticationExtensions/{customAuthenticationExtensionId}/validateAuthenticationConfiguration

customAuthenticationExtension の要求本文で指定されているエンドポイントと認証の構成を検証します。 カスタム認証拡張機能オブジェクトがまだ存在しない場合があり、このエンドポイントを使用して、カスタム認証拡張機能を作成する前に構成を検証できます。

POST /identity/customAuthenticationExtensions/validateAuthenticationConfiguration

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。

要求本文

要求本文で、パラメーターの JSON 表記を指定します。

次の表に、このアクションで使用できるパラメーターを示します。 ルート レベルでクエリを実行する場合は、endpointConfiguration と authenticationConfiguration を指定します。 それ以外の場合は、特定のカスタム拡張機能に対して、このメソッドの要求本文を指定しないでください。

パラメーター 説明
endpointConfiguration customExtensionEndpointConfiguration 検証するカスタム認証拡張機能の HTTP エンドポイント。
authenticationConfiguration customExtensionEndpointConfiguration 検証するカスタム認証拡張機能の認証構成。

応答

成功した場合、このアクションは 200 OK 応答コードと、応答本文に authenticationConfigurationValidation を返します。

例 1: カスタム認証拡張機能の潜在的な構成を指定して検証する

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/v1.0/customAuthenticationExtensions/validateAuthenticationConfiguration
Content-Type: application/json

{
    "endpointConfiguration": {
        "@odata.type": "#microsoft.graph.httpRequestEndpoint",
        "targetUrl": "https://australia.contoso.com/users"
    },
    "authenticationConfiguration": {
        "@odata.type": "#microsoft.graph.azureAdTokenAuthentication",
        "resourceId": "api://extensibilityapi.azurwebsites.net/f9c5dc6b-d72b-4226-8ccd-801f7a290428"
    }
}

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.authenticationConfigurationValidation",
    "errors": [
        {
            "code": "IncorrectResourceIdFormat",
            "message": "ResourceId should be in the format of 'api://{fully qualified domain name}/{appid}'"
        },
        {
            "code": "DomainNameDoesNotMatch",
            "message": "The fully qualified domain name in resourceId should match that of the targetUrl"
        },
        {
            "code": "ServicePrincipalNotFound",
            "message": "The appId of the resourceId should correspond to a real service principal in the tenant"
        }
    ],
    "warnings": [
        {
            "code": "PermissionNotGrantedToServicePrincipal",
            "message": "The permission CustomAuthenticationExtensions.Receive.Payload is not granted to the service principal of the resource app"
        },
    ]
}

例 2: 特定の既存のカスタム認証拡張機能の構成を検証する

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/v1.0/identity/customAuthenticationExtensions/9f39f3bb-457c-4a2a-8099-0e480e7ea142/validateAuthenticationConfiguration

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.authenticationConfigurationValidation",
    "errors": [
        {
            "code": "IncorrectResourceIdFormat",
            "message": "ResourceId should be in the format of 'api://{fully qualified domain name}/{appid}'"
        },
        {
            "code": "DomainNameDoesNotMatch",
            "message": "The fully qualified domain name in resourceId should match that of the targetUrl"
        },
        {
            "code": "ServicePrincipalNotFound",
            "message": "The appId of the resourceId should correspond to a real service principal in the tenant"
        }
    ],
    "warnings": [
        {
            "code": "PermissionNotGrantedToServicePrincipal",
            "message": "The permission CustomAuthenticationExtensions.Receive.Payload is not granted to the service principal of the resource app"
        },
    ]
}