Compartilhar via


Autenticação OAuth para e-mails de grande volume para o Microsoft 365

Saiba como utilizar a autenticação OAuth para se ligar a protocolos SMTP e aceder a dados de e-mail para Office 365 utilizadores.

O suporte OAuth2 para protocolos SMTP, conforme descrito abaixo, está disponível para utilizadores do Microsoft 365 (que inclui Office na Web) e Outlook.com.

Se não estiver familiarizado com o protocolo OAuth 2.0, veja OAuth 2.0 protocol on plataforma de identidade da Microsoft overview (Descrição geral do protocolo OAuth 2.0). Para obter mais informações sobre as Bibliotecas de Autenticação da Microsoft (MSAL), que implementam o protocolo OAuth 2.0 para autenticar utilizadores e aceder a APIs seguras, veja MsAL overview (Descrição geral da MSAL).

Registre seu aplicativo

Para utilizar o OAuth, tem de ser registada uma aplicação com Microsoft Entra.

Siga as instruções listadas em Registar uma aplicação com o plataforma de identidade da Microsoft para criar uma nova aplicação.

  1. Inicie sessão no centro de administração do Microsoft Entra, pelo menos, como Administrador de Aplicações na Cloud.

  2. Navegue atéAplicações> de Identidade>Registros de aplicativo e selecione Novo registo.

    Captura de ecrã a mostrar o novo registo.

  3. Introduza um nome a apresentar para a sua aplicação. Os utilizadores da sua aplicação poderão ver o nome a apresentar quando utilizarem a aplicação, por exemplo, durante o início de sessão. Pode alterar o nome a apresentar em qualquer altura e vários registos de aplicações podem partilhar o mesmo nome. O ID de Aplicação (cliente) gerado automaticamente do registo da aplicação, não o nome a apresentar, identifica exclusivamente a sua aplicação na plataforma de identidade.

    Captura de ecrã a mostrar o registo de uma aplicação.

  4. Após o registo, são criados vários IDs, alguns deles são necessários mais tarde para obter um token OAuth 2.0.

    Captura de ecrã de vários IDs.

Adicionar permissões de API

  1. No menu esquerdo, selecione Permissões da API e selecione Adicionar uma permissão.

    Captura de ecrã a mostrar as permissões da API hveoauth.

  2. Navegue para APIs que a minha organização utiliza e procure Office 365 Exchange Online.

    Captura de ecrã a mostrar as APIs que a minha organização utiliza.

  3. Em Pedir permissões da API, selecione Permissões da aplicação, selecione Correio.Enviar e selecione Adicionar permissões.

  4. Depois de adicionar a permissão da API, o administrador tem de selecionar Conceder consentimento do administrador.

    Captura de ecrã a mostrar a concessão do consentimento do administrador.

Suportamos ambos: permissão de delegação e permissão de aplicação para permitir aplicações de terceiros OAuth legadas, uma vez que utilizam permissões de aplicação com segredos da aplicação.

Delegar Permissões:

  1. No separador Permissões da API, adicione a permissão da API Mail.Send a partir de Office 365 Exchange Online\Permissões Delegadas.
  2. No separador Permissões da API , selecione Conceder consentimento do administrador.
  3. No separador Autenticação , ative Permitir fluxos de cliente públicos.
  4. Utilize as credenciais do utilizador de correio HVE para pedir um token para a audiência https://outlook.office.com/.default.

Permissões da Aplicação:

  1. No separador Permissões da API, adicione a permissão da API Mail.Send a partir de Office 365 Exchange Online\Permissões de Aplicação.
  2. No separador Permissões da API , selecione Conceder consentimento do administrador.
  3. No separador Certificado & segredos , adicione um novo segredo do cliente.
  4. Utilize o segredo do cliente para pedir um token para a audiência https://outlook.office.com/.default.

Troca de protocoloS SMTP do HVE

Para autenticar uma ligação de servidor SMTP, o cliente tem de responder com um AUTH comando no SASL XOAUTH2 formato. SASL XOAUTH2 codifica o nome de utilizador e o token de acesso em conjunto no seguinte formato:

base64("user=" + userName + "^Aauth=Bearer " + accessToken + "^A^A") 

^A representa um Controlo + A (%x01).

Por exemplo, o SASL XOAUTH2 formato a aceder application@contoso.onmicrosoft.com com o token de EwBAAl3BAAUFFpUAo7J3Ve0bjLBWZWCclRC3EoAA acesso é:

base64("user=application@contoso.onmicrosoft.com^Aauth=Bearer EwBAAl3BAAUFFpUAo7J3Ve0bjLBWZWCclRC3EoAA^A^A") 

Troca de mensagens cliente/servidor de exemplo que resulta num êxito de autenticação:

[connection begins]

C: auth xoauth2

S: 334

C: dXNlcj1hcHBsaWNhdGlvbkBjb250b3NvLm9ubWljcm9zb2Z0LmNvbQFBdXRoPUJlYXJlciBFd0JBQWwzQkFBVUZGcFVBbzdKM1ZlMGJqTEJXWldDY2xSQzNFb0FBAQE=

S: 235 2.7.0 Authentication successful

[connection continues...]

Troca de mensagens cliente/servidor de exemplo que resulta numa falha de autenticação:

[connection begins]

C: auth xoauth2

S: 334

C: dXNlcj1hcHBsaWNhdGlvbkBjb250b3NvLm9ubWljcm9zb2Z0LmNvbQFBdXRoPUJlYXJlciBFd0JBQWwzQkFBVUZGcFVBbzdKM1ZlMGJqTEJXWldDY2xSQzNFb0FBAQE=

S: 535 5.7.3 Authentication unsuccessful