customAuthenticationExtension : validateAuthenticationConfiguration
Espace de noms: microsoft.graph
Une API pour case activée validité du point de terminaison et de la configuration d’authentification pour un objet customAuthenticationExtension, qui peut représenter l’un des types dérivés suivants :
- onTokenIssuanceStartCustomExtension , type de ressource.type de ressource.
Cette API est disponible dans les déploiements de cloud national suivants.
Service global | Gouvernement des États-Unis L4 | Us Government L5 (DOD) | Chine gérée par 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ❌ |
Autorisations
Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.
Type d’autorisation | Autorisations avec privilèges minimum | Autorisations privilégiées plus élevées |
---|---|---|
Déléguée (compte professionnel ou scolaire) | CustomAuthenticationExtension.Read.All | CustomAuthenticationExtension.ReadWrite.All |
Déléguée (compte Microsoft personnel) | Non prise en charge. | Non prise en charge. |
Application | CustomAuthenticationExtension.Read.All | CustomAuthenticationExtension.ReadWrite.All |
Importante
Dans les scénarios délégués avec des comptes professionnels ou scolaires, l’administrateur doit se voir attribuer un rôle Microsoft Entra pris en charge ou un rôle personnalisé avec une autorisation de rôle prise en charge. Les rôles les moins privilégiés suivants sont pris en charge pour cette opération :
- Administrateur de l’extensibilité de l’authentification
- Administrateur de l'application
Requête HTTP
Pour valider le point de terminaison et la configuration d’authentification pour une customAuthenticationExtension par son ID.
POST /identity/customAuthenticationExtensions/{customAuthenticationExtensionId}/validateAuthenticationConfiguration
Pour valider le point de terminaison et la configuration d’authentification spécifiés dans le corps de la demande pour une customAuthenticationExtension. L’objet d’extension d’authentification personnalisée n’existe peut-être pas encore et vous pouvez utiliser ce point de terminaison pour valider la configuration avant de créer l’extension d’authentification personnalisée.
POST /identity/customAuthenticationExtensions/validateAuthenticationConfiguration
En-têtes de demande
Nom | Description |
---|---|
Autorisation | Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation. |
Corps de la demande
Dans le corps de la demande, fournissez une représentation JSON des paramètres.
Le tableau suivant indique les paramètres utilisables avec cette action. Fournissez un endpointConfiguration et authenticationConfiguration si vous interrogez au niveau de la racine. Sinon, pour une extension personnalisée spécifique, ne fournissez pas de corps de demande pour cette méthode.
Paramètre | Type | Description |
---|---|---|
endpointConfiguration | customExtensionEndpointConfiguration | Point de terminaison HTTP pour l’extension d’authentification personnalisée à valider. |
authenticationConfiguration | customExtensionEndpointConfiguration | Configuration de l’authentification pour l’extension d’authentification personnalisée à valider. |
Réponse
Si elle réussit, cette action renvoie un 200 OK
code de réponse et une authenticationConfigurationValidation dans le corps de la réponse.
Exemples
Exemple 1 : Fournir et valider une configuration d’extension d’authentification personnalisée potentielle
Demande
L’exemple suivant illustre une demande.
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"
}
}
Réponse
L’exemple suivant illustre la réponse.
Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
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"
},
]
}
Exemple 2 : Valider la configuration d’une extension d’authentification personnalisée existante spécifique
Demande
L’exemple suivant illustre une demande.
POST https://graph.microsoft.com/v1.0/identity/customAuthenticationExtensions/9f39f3bb-457c-4a2a-8099-0e480e7ea142/validateAuthenticationConfiguration
Réponse
L’exemple suivant illustre la réponse.
Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
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"
},
]
}