Pré-requisitos E-mail para uma Conexão do Microsoft 365 OAuth 2.0¶
Introdução¶
Estes são os pré-requisitos para usar o Conector Email com uma conexão Microsoft 365 OAuth 2.0 usando Resource Owner Password Credential (ROPC) autenticação:
Todas as tarefas de pré-requisito exigirão que você faça logon no portal do Azure com uma conta do Azure com as permissões de administrador Administrador do Exchange habilitadas. Administrador do Exchange é necessário para baixar o módulo EXO2 PowerShell necessário em Conectar o registro do aplicativo ao Exchange Online. O nome de usuário e a senha desta conta também serão usados em Obter tokens de acesso para autenticação ROPC.
Algumas tarefas também exigirão o Windows PowerShell e curl
, Postman ou uma ferramenta semelhante para enviar solicitações POST.
Criar um Registro de Aplicativo¶
Siga estas etapas para criar um registro de aplicativo com a plataforma de identidade da Microsoft:
-
No portal do Azure, procure e clique em Azure Active Directory:
-
Na barra lateral esquerda em Gerenciar, clique em Registros de aplicativos.
-
Clique em Novo registro:
-
Insira um Nome para seu aplicativo. Este nome de exibição ficará visível para os usuários:
-
Clique em Registrar para concluir o registro do aplicativo. Você será direcionado para a página Visão geral do aplicativo:
Importante
Guarde o ID do aplicativo (cliente) e o ID do diretório (locatário) do registro do aplicativo para usar como
client_id
etenant_id
em Verificar o registro do aplicativo e Obter tokens de acesso para autenticação ROPC. -
Clique em Adicionar um certificado ou segredo.
-
Na aba Client secrets, clique em New client secret para abrir o painel Add a client secret. Nesse painel, insira uma descrição e selecione uma data de expiração para o segredo do cliente e, em seguida, defina, clique em Adicionar:
-
O segredo do cliente agora está visível na aba Client secrets. Guarde o Valor do segredo do cliente para usar como
client_secret
em Obter tokens de acesso para autenticação ROPC.
Adicionar Permissões Necessárias ao Registro do Aplicativo¶
Para usar o Conector Email com uma conexão Microsoft 365 OAuth 2.0, o registro do aplicativo deve ter estas permissões:
- Permissões de aplicativos on-line do Office 365 Exchange
- Permissões de aplicativos do Microsoft Graph
- Permissões delegadas do Microsoft Graph
No portal do Azure, navegue até o registro do aplicativo e clique em Permissões de API na barra lateral esquerda:
Importante
Dependendo das configurações de segurança da sua organização do Azure, algumas permissões exigirão o consentimento do administrador para permitir.
Permissões de Aplicativos On-line do Office 365 Exchange¶
Para adicionar permissões de aplicativo do Office 365 Exchange Online, siga estas etapas:
-
Na página Permissões de API, clique em Adicionar uma permissão.
-
No painel Solicitar permissões de API, clique na aba APIs que minha organização usa, pesquise e clique em Office 365 Exchange Online:
-
Clique em Permissões do aplicativo.
-
Para acesso POP, habilite a permissão POP.AccessAsApp. Para acesso IMAP, habilite a permissão IMAP.AccessAsApp.
-
Clique em Adicionar permissões. A página Permissões configuradas do registro do aplicativo atualizado é exibida.
Permissões de Aplicativos do Microsoft Graph¶
Para adicionar permissões de aplicativo do Microsoft Graph, siga estas etapas:
-
Na página Permissões de API, clique em Adicionar uma permissão.
-
No painel Solicitar permissões de API, clique na aba APIs que minha organização usa, procure e clique em Microsoft Graph:
-
Clique em Permissões do aplicativo.
-
Ative as permissões Mail.Send e User.Read.All.
-
Clique em Adicionar permissões. A página Permissões configuradas do registro do aplicativo atualizado é exibida.
Permissões Delegadas do Microsoft Graph¶
Para adicionar permissões delegadas do Microsoft Graph, siga estas etapas:
-
Na página Permissões de API, clique em Adicionar uma permissão.
-
No painel Solicitar permissões de API, clique na aba APIs que minha organização usa, procure e clique em Microsoft Graph:
-
Clique em Permissões delegadas.
-
Ative as permissões offline_access, IMAP.AccessAsUser.All e SMTP.Send. User.Read deve permanecer ativado.
-
Clique em Adicionar permissões. A página Permissões configuradas do registro do aplicativo atualizado é exibida. O registro do seu aplicativo agora tem as permissões necessárias.
Conecte o Registro do Aplicativo ao Exchange Online¶
Para conectar o registro do aplicativo ao Exchange Online, siga estas etapas:
-
Baixe e instale o módulo EXO2 PowerShell acessando o Centro de administração do Classic Exchange. Clique em Híbrido e em Configurar módulo do Exchange PowerShell.
Importante
Se você não conseguir baixar e instalar o módulo EXO2 PowerShell, não poderá concluir a conexão do Exchange.
-
Inicie o Windows PowerShell e execute:
Install-Module -Name ExchangeOnlineManagement -allowprerelease Install-Module Microsoft.Graph -allowprerelease Install-Module -Name AzureAD Install-module AzureADPreview -Verbose import-module AzureADPreview import-module ExchangeOnlineManagement
-
Executar
Connect-AzureAD
e insira suas informações de login. -
Executar
Connect-ExchangeOnline
e insira suas informações de login. -
Obtenha as informações da entidade de serviço do aplicativo registrado e armazene-as em uma variável executando:
$MyApp = Get-AzureADServicePrincipal -SearchString <Registered application name> $MyApp | fl
-
Use as informações da entidade de serviço armazenadas para concluir a conexão:
New-ServicePrincipal -AppId $MyApp.AppId -ServiceId $MyApp.ObjectId -DisplayName "Service Principal for IMAP APP" Add-MailboxPermission -Identity <Administrator email address> -User $MyApp.ObjectId -AccessRights FullAccess
Verifique o Registro do Aplicativo¶
Para verificar o registro do aplicativo, siga estas etapas:
-
Envie uma solicitação POST para
https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/devicecode
onde<client_id>
e<tenant_id>
são substituídos pelo ID do aplicativo (cliente) e pelo ID do diretório (locatário) que você salvou ao criar o registro do aplicativo:curl --location --request POST 'https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/devicecode' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'client_id=<client_id>' \ --data-urlencode 'scope=https://outlook.office.com/SMTP.Send https://outlook.office.com/IMAP.AccessAsUser.All'
Se for bem-sucedido, a resposta conterá um código de autorização.
-
Navegue até
https://login.microsoftonline.com/common/oauth2/deviceauth
no seu navegador e envie o código de autorização. O registro do aplicativo agora é verificado e você pode obter tokens de acesso gratuitamente.
Obtenha Tokens de Acesso para Autenticação ROPC¶
Depois de concluir as etapas anteriores, os tokens podem ser gerados para autenticação ROPC usando uma solicitação POST:
curl --location --request POST 'https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=<client_id>' \
--data-urlencode 'scope=https://outlook.office.com/IMAP.AccessAsUser.All' \
--data-urlencode 'client_secret=<client_secret>' \
--data-urlencode 'username=<account_username>' \
--data-urlencode 'password=<account_password>' \
--data-urlencode 'grant_type=password'
<client_id>
e<tenant_id>
são substituídos pelo ID do aplicativo (cliente) e pelo ID do diretório (locatário) que você salvou ao criar o registro do aplicativo.<client_secret>
é substituído pelo segredo do cliente que você salvou ao criar o registro do aplicativo.<account_username>
e<account_password>
são substituídos por suas credenciais de login do Azure para autenticação ROPC.
Nota
O grant_type
parâmetro deve ser sempre password
para autenticação ROPC.
Se for bem-sucedida, a resposta conterá um access_token
para autenticação ROPC.