Compartir a través de


customAuthenticationExtension: validateAuthenticationConfiguration

Espacio de nombres: microsoft.graph

Una API para comprobar la validez del punto de conexión y la configuración de autenticación de un objeto customAuthenticationExtension , que puede representar uno de los siguientes tipos derivados:

Esta API está disponible en las siguientes implementaciones nacionales de nube.

Servicio global Gobierno de EE. UU. L4 Us Government L5 (DOD) China operada por 21Vianet

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) CustomAuthenticationExtension.Read.All CustomAuthenticationExtension.ReadWrite.All
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Aplicación CustomAuthenticationExtension.Read.All CustomAuthenticationExtension.ReadWrite.All

Importante

En escenarios delegados con cuentas profesionales o educativas, al administrador se le debe asignar un rol de Microsoft Entra compatible o un rol personalizado con un permiso de rol admitido. Se admiten los siguientes roles con privilegios mínimos para esta operación:

  • Administrador de extensibilidad de autenticación
  • Administrador de la aplicación

Solicitud HTTP

Para validar el punto de conexión y la configuración de autenticación de customAuthenticationExtension por su identificador.

POST /identity/customAuthenticationExtensions/{customAuthenticationExtensionId}/validateAuthenticationConfiguration

Para validar el punto de conexión y la configuración de autenticación especificados en el cuerpo de la solicitud para una customAuthenticationExtension. Es posible que el objeto de extensión de autenticación personalizada aún no exista y puede usar este punto de conexión para validar la configuración antes de crear la extensión de autenticación personalizada.

POST /identity/customAuthenticationExtensions/validateAuthenticationConfiguration

Encabezados de solicitud

Nombre Descripción
Authorization {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización.

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporcione una representación JSON de los parámetros.

La siguiente tabla muestra los parámetros que se pueden usar con esta acción. Proporcione un endpointConfiguration y authenticationConfiguration si realiza consultas en el nivel raíz. De lo contrario, para una extensión personalizada específica, no proporcione un cuerpo de solicitud para este método.

Parámetro Tipo Descripción
endpointConfiguration customExtensionEndpointConfiguration Punto de conexión HTTP para la extensión de autenticación personalizada que se va a validar.
authenticationConfiguration customExtensionEndpointConfiguration Configuración de autenticación de la extensión de autenticación personalizada que se va a validar.

Respuesta

Si se ejecuta correctamente, esta acción devuelve un 200 OK código de respuesta y una authenticationConfigurationValidation en el cuerpo de la respuesta.

Ejemplos

Ejemplo 1: Proporcionar y validar una posible configuración de extensión de autenticación personalizada

Solicitud

En el ejemplo siguiente se muestra la solicitud.

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

Respuesta

En el ejemplo siguiente se muestra la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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

Ejemplo 2: Validar la configuración de una extensión de autenticación personalizada existente específica

Solicitud

En el ejemplo siguiente se muestra la solicitud.

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

Respuesta

En el ejemplo siguiente se muestra la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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