A Microsoft não permite mais o uso de nome de usuário e senha para recuperar emails de contas do Outlook e Microsoft 365. Eles descontinuaram a opção de autenticação básica. Para ativar o canal de email do Outlook/Microsoft 365 na sua instância auto-hospedada, você deve configurar um aplicativo OAuth.
Este guia ajuda você a configurar um Aplicativo Entra ID (antigo Azure Active Directory) e a usar as credenciais no AirysChat. Ao fazer isso, você pode autenticar a sua conta do Outlook/Microsoft 365 como um canal de email.
Registre o aplicativo
Para um guia mais detalhado sobre como configurar a plataforma de Identidade da Microsoft, consulte aqui.
Para acessar o Centro de Administração do Microsoft Entra, vá para entra.microsoft.com e faça login com a sua conta da Microsoft. Uma vez logado, navegue até a seção Identity na barra lateral esquerda. Na seção Identity, localize o menu “Applications” e clique em “App Registrations” no submenu. Na página “App Registrations”, clique na opção “New Registration”. Você verá uma página como a mostrada abaixo.
Existem três opções para os tipos de conta suportados. Idealmente, você só precisa selecionar “Accounts in any organizational directory” já que o AirysChat geralmente é usado apenas para emails comerciais. No entanto, se você estiver conectando uma conta pessoal, selecione a segunda opção. Se você estiver usando os aplicativos fora da sua organização, precisará registrar a sua conta como um editor verificado.
Para configurar um URI de redirecionamento com a plataforma Web, use a seguinte URL: https://<your-instance-url>/microsoft/callback. Clique em register e o seu aplicativo será criado. Você verá uma tela como a mostrada abaixo.
Salve o Application (Client) ID. Nós o configuraremos como AZURE_APP_ID no AirysChat mais tarde.
Para garantir a funcionalidade adequada do AirysChat, precisamos configurar as permissões e atualizar a configuração do token conforme a seguir.
Permissões da API
Clique no menu “API Permissions” na seção “Manage”. Por padrão, isso terá a permissão User.Read.
Clique no botão “Add permissions” e adicione as seguintes permissões no menu Delegated permissions nas Microsoft Graph APIs.
- email: Para visualizar o endereço de email do usuário.
- profile: Para visualizar o nome e a foto, etc.
- offline_access: Para recuperar os emails mesmo quando você não estiver usando o aplicativo.
- SMTP.Send, Mail.Send: Envie emails usando a autenticação SMTP ao responder a clientes a partir do painel do AirysChat.
- IMAP.AccessAsUser.All, Mail.ReadWrite: Acesso de leitura e escrita a caixas de correio via IMAP.
- openid: Permite que os usuários façam login
Configuração do Token
Agora, vamos prosseguir para a Configuração do Token para configurar “optional claims” (reivindicações opcionais). Reivindicações opcionais são um recurso no Entra ID que permite que você especifique informações adicionais (reivindicações) para incluir nos tokens de segurança emitidos para o aplicativo.
No AirysChat, usamos reivindicações opcionais para minimizar chamadas duplicadas e recuperar algumas informações antecipadamente. Clique em “Add optional claim” e adicione as seguintes reivindicações ao aplicativo.
Configurar o Segredo do Cliente
Vá para a seção Certificates & Secrets para criar um Client Secret. Clique no botão “New Client Secret” e forneça uma descrição. Você também pode selecionar um tempo de expiração.
Lembre-se de que você precisará gerar novamente o segredo e atualizá-lo nas variáveis de ambiente do AirysChat quando ele expirar.
Após clicar no botão Add, um segredo de cliente será gerado como mostrado abaixo.
Salve o valor em um local seguro, pois você não poderá vê-lo depois de atualizar a página. Isso será usado como AZURE_APP_SECRET no AirysChat.
Após criar o aplicativo Entra, você precisa configurar as credenciais do aplicativo no AirysChat. Existem 2 variáveis que você precisa configurar, conforme mostrado nas etapas acima.
- AZURE_APP_ID: Como visto na etapa de registrar o aplicativo, use o Application (Client) ID aqui.
- AZURE_APP_SECRET: Use o valor obtido na etapa de configuração do segredo do cliente.
Após atualizar as variáveis de ambiente, reinicie o serviço do AirysChat para que as alterações entrem em vigor. Agora, verifique se o canal está ativado no fluxo de criação de Caixa de Entrada. Se tudo estiver configurado corretamente, você verá “Microsoft” listado como um provedor de email no fluxo.
Pronto! É isso, você já pode receber emails na sua instância do AirysChat.
Considerações sobre multi-tenancy e ida para produção
Observe que a configuração não funcionará para outros emails sob um locatário diferente até que você tenha concluído o processo de verificação de editor da Microsoft. Durante o prompt de autorização, você verá “unverified” (não verificado) até que o aplicativo seja verificado para produção.
Para testar as alterações antes que o aplicativo seja verificado para produção, use o endereço de email de registro do aplicativo do Entra ID no canal do AirysChat.
A verificação do editor fornece aos usuários do aplicativo e aos administradores da organização informações sobre a autenticidade da organização do desenvolvedor que publica um aplicativo integrado à plataforma de identidade da Microsoft. Se um aplicativo tiver um editor verificado, isso significa que a Microsoft verificou a autenticidade da organização que publica o aplicativo.
Leia as diretrizes de publicação aqui.