Descoberta Automática do Exchange

Saiba mais sobre o serviço Descoberta Automática do Exchange.

O serviço Descoberta Automática do Exchange oferece uma maneira fácil de seu aplicativo cliente se configurar com entrada mínima do usuário. A maioria dos usuários sabe seu endereço de email e sua senha e, com esses dois tipos de informação, você pode recuperar todos os outros detalhes de que precisa para começar. Para clientes do Serviços Web do Exchange (EWS), Descoberta Automática é geralmente usada para localizar a URL de ponto de extremidade EWS, mas a Descoberta Automática também pode fornecer informações para configurar os clientes que usam outros protocolos. A Descoberta Automática funciona para aplicativos cliente dentro ou fora de firewalls e que funcionarão na floresta de recursos e em cenários de várias florestas.

Visão geral do processo de Descoberta Automática

Essencialmente, o processo de Descoberta Automática tem três fases. Na fase 1, você gera uma lista de potenciais servidores de Descoberta Automática e, na fase dois, experimenta cada servidor em sua lista até obter uma resposta bem-sucedida. Se nenhum dos seus candidatos funcionar, passe para a fase 3, que representa uma "última tentativa" de localizar um ponto de extremidade de Descoberta Automática.

O método ExchangeService.AutodiscoverUrl da API gerenciada do EWS implementa todas as três fases desse processo e, portanto, se você estiver usando a API gerenciada do EWS, não precisará se preocupar em como implementar a Descoberta Automática. A figura a seguir mostra as três fases do processo de Descoberta Automática.

Figura 1. Três fases do processo de Descoberta Automática

Ilustração do processo de Descoberta Automática, mostrando três fases: definição do pool de candidatos, teste dos pontos finais e teste de outras alternativas.

Fase 1: Definindo o pool candidato

Antes de poder usar a Descoberta Automática, você precisa localizar o servidor de Descoberta Automática correto para o usuário. Felizmente, a Descoberta Automática define um número limitado de locais para procurar. No caso em que vários candidatos são encontrados, a Descoberta Automática também define uma forma para gerar e priorizar a lista.

Tabela 1: Fontes de candidatos a ponto de extremidade de Descoberta Automática

Local para pesquisar O que você encontrará
Active Directory Domain Services (AD DS)
Para clientes de domínio, é o primeiro local a ser pesquisado. O Exchange publica os objetos SCP (ponto de conexão de serviço) no AD DS, o que permite que as solicitações de Descoberta Automática sejam roteadas para servidores baseados em sites do Active Directory. Os resultados de uma pesquisa de SCP devem ficar na parte superior da sua lista de candidatos.

OBSERVAÇÃO: a pesquisa de SCP não está disponível para clientes que não fazem parte de um domínio ou que não têm acesso aos servidores do Active Directory. Nesse caso, você deve ignorar a pesquisa SCP.
O domínio de endereço de email do usuário
A Descoberta Automática define duas formas de URL padrão do ponto de extremidade derivadas da parte de domínio do endereço de email do usuário:
"https://" + domain + "/autodiscover/autodiscover" + *fileExtension*
"https://autodiscover." + domain + "/autodiscover/autodiscover" + *fileExtension*

O valor de fileExtension depende de qual método de acesso de descoberta automática você está usando, SOAP ou POX. O serviço SOAP usa uma extensão de arquivo ".svc"; POX usa ".xml".

A figura a seguir mostra como gerar uma lista de pontos de extremidade da Descoberta Automática.

Figura 2. Processo para gerar uma lista de pontos de extremidade da Descoberta Automática

Ilustração mostrando o processo de geração de uma lista de pontos finais de Descoberta Automática. As setas mostram que a lista de pontos finais é derivada da pesquisa SCP ou do endereço de email do usuário.

Fase 2: Experimentando cada candidato

Depois de gerar uma lista ordenada de potenciais candidatos, a próxima etapa será experimentar cada um na lista ao enviar uma solicitação para a URL e validar os resultados, como mostrado na Figura 3. Quando você receber uma resposta bem-sucedida, sua busca estará terminada.

Figura 3. Experimentando cada ponto de extremidade candidato em ordem

Uma ilustração que mostra o servidor testando cada ponto final por ordem de prioridade, até receber uma resposta bem-sucedida.

Antes de enviar uma solicitação para um candidato, verifique se ele é confiável. Lembre-se de que você está enviando as credenciais do usuário e, portanto, é importante certificar-se de que você as esteja compartilhando apenas com um servidor em que pode confiar. No mínimo, deve-se verificar:

  • Se o ponto de extremidade é um ponto de extremidade HTTPS. Os aplicativos cliente não devem se autenticar ou enviar dados para um ponto de extremidade não SSL.

  • Se o certificado SSL apresentado pelo servidor é válido e de uma autoridade confiável.

Observação

[!OBSERVAçãO] Esses são apenas sugestões básicas de segurança. Sempre que você estiver trabalhando com autenticação, certifique-se de que seu código atenda aos requisitos de segurança da sua organização.

O tipo de solicitação enviada depende de como você está acessando o serviço Descoberta Automática.

Tabela 2. Tipos de solicitações de Descoberta Automática

Se você estiver usando... Envie uma solicitação usando...
A API gerenciada do EWS
O método GetUserSettings.
O serviço Descoberta Automática SOAP
A operação GetUserSettings.
O serviço Descoberta Automática POX
Um HTTP POST com um corpo da solicitação de Descoberta Automática.

Fase 3: Experimentando outras alternativas

Em alguns casos, você pode experimentar os pontos de extremidade em sua lista, apenas para descobrir que todas elas retornarão um erro. Antes de lançar desistir, você pode tentar algumas coisas mais: você pode enviar uma solicitação GET não autenticada ou consultam o DNS para um registro SRV. Se essas tentativas também não produzem resultados, você não pode contatar o serviço Descoberta Automática.

Figura 4. Experimentando outras alternativas

Uma ilustração que mostra pontos finais adicionais gerados por uma solicitação GET não autenticada e uma consulta DNS.

Enviando uma solicitação GET não autenticada

A primeira coisa a ser experimentada é o envio de uma solicitação GET não autenticada para um ponto de extremidade derivado do endereço de email do usuário. O formato desse ponto de extremidade é "http://autodiscover." + domínio + "/autodiscover/autodiscover.xml". Observe que isso NÃO é um ponto de extremidade SSL. Se o servidor retornar uma resposta de redirecionamento 302, você poderá tentar reenviar a solicitação de Descoberta Automática para a URL do ponto de extremidade no cabeçalho Localização da resposta.

Consultando um registro SRV no DNS

Se a solicitação GET não autenticada não funcionar, a última tentativa será consultar registros SRV no DNS em busca do serviço de Descoberta Automática. O registro terá o formato "_autodiscover._tcp." + domínio. Essa consulta pode retornar vários registros, mas você só deverá usar os registros que apontem para um ponto de extremidade SSL e que tenha a maior prioridade e o maior peso.

Opções para usar a Descoberta Automática

Você pode acessar o Autodiscover usando o SOAP ou o serviço Web POX. O método usado depende de seus requisitos e ambiente; no entanto, recomendamos usar o serviço Web SOAP, se possível. A API Gerenciada do EWS também é uma opção. Ele implementa a parte do cliente dos serviços SOAP e POX Autodiscover.

Tabela 3: Opções de acesso de Descoberta Automática

Opção Vantagens Desvantagens
API gerenciada do EWS
Implementa o processo de Descoberta Automática para você.

Usa os serviços SOAP e de Descoberta Automática POX.

Funciona com o Exchange Online, com o Exchange Online como parte do Office 365 ou com uma versão do Exchange a partir do Exchange 2007 SP1.

Fácil de usar.
Limitado às configurações do usuário disponíveis na enumeração Microsoft.Exchange.WebServices.Autodiscover.UserSettingName.

Disponível apenas para aplicativos do .NET Framework.
Descoberta Automática SOAP
Independente de plataforma.

Permite que você solicite apenas as configurações em que está interessado.
Não está disponível no Exchange 2007.
Descoberta Automática POX
Independente de plataforma.

Compatível com o Exchange Online e com todas as versões do Exchange a partir do Exchange 2007 SP1.
Não permite que você solicite configurações específicas.

Nesta seção

Confira também