customAuthenticationExtension: validateAuthenticationConfiguration

命名空间:microsoft.graph

用于检查终结点的有效性的 API,以及 customAuthenticationExtension 对象的身份验证配置,该对象可以表示以下派生类型之一:

此 API 可用于以下国家级云部署

全局服务 美国政府 L4 美国政府 L5 (DOD) 由世纪互联运营的中国

权限

为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考

权限类型 最低特权权限 更高特权权限
委派(工作或学校帐户) CustomAuthenticationExtension.Read.All CustomAuthenticationExtension.ReadWrite.All
委派(个人 Microsoft 帐户) 不支持。 不支持。
应用程序 CustomAuthenticationExtension.Read.All CustomAuthenticationExtension.ReadWrite.All

重要

在具有工作或学校帐户的委派方案中,必须为管理员分配受支持的Microsoft Entra角色或具有受支持角色权限的自定义角色。 此操作支持以下最低特权角色:

  • 身份验证扩展性管理员
  • 应用程序管理员

HTTP 请求

按 ID 验证 customAuthenticationExtension 的终结点和身份验证配置。

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"
        },
    ]
}