Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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:
- tipo de recurso onTokenIssuanceStartCustomExtension.
- tipo de recurso onAttributeCollectionStartCustomExtension.
- tipo de recurso onAttributeCollectionSubmitCustomExtension.
- tipo de recurso onOtpSendCustomExtension.
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 un objeto JSON con los siguientes parámetros.
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.
| Propiedad | 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"
},
]
}