customAuthenticationExtension: validateAuthenticationConfiguration
Namespace: microsoft.graph
Importante
As APIs na versão /beta
no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Uma API para marcar validade do ponto final e da configuração de autenticação para um objeto customAuthenticationExtension, que pode representar um dos seguintes tipos derivados:
- onTokenIssuanceStartCustomExtension tipo de recurso.
- onAttributeCollectionStartCustomExtension tipo de recurso.
- onAttributeCollectionSubmitCustomExtension tipo de recurso.
Esta API está disponível nas seguintes implementações de cloud nacionais.
Serviço global | US Government L4 | US Government L5 (DOD) | China operada pela 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Permissões
Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.
Tipo de permissão | Permissões com menos privilégios | Permissões com privilégios superiores |
---|---|---|
Delegado (conta corporativa ou de estudante) | CustomAuthenticationExtension.Read.All | CustomAuthenticationExtension.ReadWrite.All |
Delegado (conta pessoal da Microsoft) | Sem suporte. | Sem suporte. |
Application | CustomAuthenticationExtension.Read.All | CustomAuthenticationExtension.ReadWrite.All |
Importante
Em cenários delegados com contas escolares ou profissionais, tem de ser atribuída ao administrador uma função de Microsoft Entra suportada ou uma função personalizada com uma permissão de função suportada. As seguintes funções com menos privilégios são suportadas para esta operação:
- Administrador de Extensibilidade de Autenticação
- Administrador de Aplicativos
Solicitação HTTP
Para validar o ponto final e a configuração de autenticação para uma CustomAuthenticationExtension pelo respetivo ID.
POST /identity/customAuthenticationExtensions/{customAuthenticationExtensionId}/validateAuthenticationConfiguration
Para validar o ponto final e a configuração de autenticação especificados no corpo do pedido para uma CustomAuthenticationExtension. O objeto de extensão de autenticação personalizada pode ainda não existir e pode utilizar este ponto final para validar a configuração antes de criar a extensão de autenticação personalizada.
POST /identity/customAuthenticationExtensions/validateAuthenticationConfiguration
Cabeçalhos de solicitação
Nome | Descrição |
---|---|
Autorização | {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
Corpo da solicitação
No corpo da solicitação, forneça uma representação JSON dos parâmetros.
A tabela a seguir mostra os parâmetros que podem ser usados com esta ação. Forneça um ponto finalConfiguração e autenticaçãoConfiguração se estiver a consultar ao nível da raiz. Caso contrário, para uma extensão personalizada específica, não forneça um corpo do pedido para este método.
Parâmetro | Tipo | Descrição |
---|---|---|
endpointConfiguration | customExtensionEndpointConfiguration | O ponto final HTTP para a extensão de autenticação personalizada a validar. |
authenticationConfiguration | customExtensionEndpointConfiguration | A configuração de autenticação para a extensão de autenticação personalizada para validar. |
Resposta
Se for bem-sucedida, esta ação devolve um 200 OK
código de resposta e uma authenticationConfigurationValidation no corpo da resposta.
Exemplos
Exemplo 1: Fornecer e validar uma potencial configuração de extensão de autenticação personalizada
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/beta/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"
}
}
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$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"
},
]
}
Exemplo 2: Validar a configuração de uma extensão de autenticação personalizada existente específica
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/beta/identity/customAuthenticationExtensions/9f39f3bb-457c-4a2a-8099-0e480e7ea142/validateAuthenticationConfiguration
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$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"
},
]
}