Passar para o conteúdo principal

Integração técnica do InHire com Microsoft Outlook através da Azure para envio de E-mails

Time InHire avatar
Escrito por Time InHire
Atualizado há mais de uma semana

Para tornar a comunicação com candidatos mais profissional e confiável, o InHire se conecta ao Outlook, permitindo o envio de e-mails direto da conta do recrutador. Essa integração garante mais segurança, personalização e aderência às políticas da empresa.

O InHire integra-se à API Microsoft Graph para permitir que empresas enviem e-mails corporativos diretamente usando as contas do Outlook dos seus usuários.

Essa integração é utilizada para o envio de e-mails ativos do usuário.

Como funciona a autenticação OAuth?

A integração usa o fluxo OAuth 2.0 Authorization Code Flow with Confidential Client via biblioteca MSAL no backend, garantindo segurança e controle centralizado.


Passo a passo técnico

  1. O usuário inicia a conexão de conta Outlook no InHire.

  2. O backend gera a URL de autorização usando:

    • clientId,

    • authority (https://login.microsoftonline.com/organizations),

    • scopes (user.read, Mail.Send),

    • redirectUri configurado.

  3. O usuário (ou um administrador, usando Consent on behalf of your organization) concede as permissões solicitadas.

  4. O Microsoft redireciona o usuário para o backend do InHire (/outlook/redirect) com um authorization code.

  5. O backend troca esse código por:

    • access_token (para chamadas imediatas),

    • refresh_token (habilitado via offline_access) para manter sessões estáveis.

  6. O InHire armazena os tokens de forma segura e criptografada.

  7. Quando o sistema precisa enviar um e-mail:

    • Verifica se o access_token está válido,

    • Se necessário, usa o refresh_token para renovar,

    • Envia o e-mail via endpoint https://graph.microsoft.com/v1.0/me/sendMail.


Permissões solicitadas e motivações

User.Read

  • 📌 O que faz:

    Permite ler informações básicas do usuário (ID, nome, e-mail).

  • 💡 Por que é necessária:

    Para identificar de qual conta será feito o envio e associar corretamente o remetente.

Mail.Send

  • 📌 O que faz:

    Permite enviar e-mails usando a conta do usuário autenticado.

  • 💡 Por que é necessária:

    É a permissão central que permite que os e-mails saiam como “usuário@empresa.com” e não como um remetente genérico.

offline_access

  • 📌 O que faz:

    Permite obter um refresh token, garantindo acesso contínuo sem precisar de re-login.

  • 💡 Por que é necessária:

    Evita que a sessão expire frequentemente, garantindo estabilidade na integração.

Consent on behalf of your organization (no painel do admin)

  • 📌 O que faz:
    Permite ao administrador aprovar permissões para que cada usuário em sua organização possa se autorizar a usar o InHire para o envio de e-mails. Ou seja, ainda assim cada usuário deverá autorizar individualmente.

  • 💡 Por que é necessária:
    Simplifica a implantação e garante governança centralizada.


Segurança e compliance

  • Fluxo backend seguro:

    Authorization Code Flow com client secret (Confidential Client), sem exposição de tokens no frontend.

  • Escopo mínimo:

    Apenas permissões estritamente necessárias (user.read, Mail.Send, offline_access).

    Nenhum acesso a e-mails recebidos, contatos, calendário ou outros dados sensíveis.

  • Aderência a políticas corporativas:

    Envio autenticado e rastreável, respeitando SPF/DKIM.


O InHire integra-se ao Outlook exclusivamente para envio de e-mails corporativos, usando OAuth Authorization Code Flow backend seguro. Apenas permissões mínimas são solicitadas, sem acesso a caixas de entrada, contatos ou calendários. Todo gerenciamento de tokens é feito de forma criptografada e segura.

Qualquer dúvida ou sugestão, não deixe de entrar em contato através do Chat do InHire, no canto inferior direito da tela.

Um sorriso de orelha a orelha :)

Emanoele Rosa, do Time InHire.

Respondeu à sua pergunta?