Versões comparadas
Chave
- Esta linha foi adicionada.
- Esta linha foi removida.
- A formatação mudou.
Visão Geral
Foi implementado no Protheus um novo modelo de envio de e-mail, permitindo autenticação utilizando:
- Basic Authentication
- OAuth 2.0
A implementação contempla:
- Cadastro de provedores de e-mail
- Cadastro de contas de e-mail
- Classe TLPP responsável pelo envio
- Integração com:
- Envio de relatórios
- Rotinas relacionadas à política de senha
O objetivo principal é permitir compatibilidade com os novos requisitos de autenticação exigidos por provedores como Google e Microsoft, que estão descontinuando autenticação SMTP tradicional baseada apenas em usuário e senha.
Funcionamento da Integração
Envio de Relatórios
O envio de relatórios utiliza o parâmetro MV_RELACNT:
Nova lógica implementada:
- Se a conta informada no MV_RELACNT existir no cadastro de contas:
- Será utilizado o novo modelo de envio
- Caso contrário:
- O envio continuará utilizando o modelo tradicional do Protheus
Política de Senha
Nas rotinas relacionadas à política de senha:
- A conta informada será validada no cadastro de contas
- Se existir:
- Utiliza o novo modelo
- Caso contrário:
- Utiliza o modelo tradicional existente
Tipos de Autenticação
Basic Authentication
Modelo tradicional baseado em:
- Usuário
- Senha
Características:
- Simples de configurar
- Compatível com servidores SMTP legados
- Está sendo descontinuado por diversos provedores
OAuth 2.0
Modelo moderno de autenticação baseado em tokens.
Características:
- Maior segurança
- Não utiliza senha da conta diretamente
- Compatível com requisitos atuais da Microsoft e Google
A implementação suporta dois modos:
OAuth 2.0 com Consentimento
Neste modelo:
- O usuário realiza autenticação manual
- O usuário concede permissão para envio de e-mail
- É gerado um token vinculado a conta cadastrada
OAuth 2.0 sem Consentimento (client_credentials)
Neste modelo:
- Não existe interação do usuário
- A autenticação ocorre via aplicação
- O token é gerado utilizando:
client_idclient_secrettenant_id(Microsoft)
Dados Necessários para Configuração
Dependendo do modelo utilizado, poderão ser necessários:
| Informação | Basic | OAuth Consentimento | OAuth Client Credentials |
|---|---|---|---|
| Usuário | Sim | Não | Não |
| Senha | Sim | Não | Não |
| Client ID | Não | Sim | Sim |
| Client Secret | Não | Sim | Sim |
| Tenant ID | Não | Não | Microsoft |
| Consentimento do usuário | Não | Sim | Não |
Documentações Oficiais
Microsoft
Registro de Aplicações
Microsoft Entra - Registro de Aplicações
OAuth 2.0 Client Credentials
Microsoft OAuth 2.0 Client Credentials Flow
Microsoft Graph - Envio de E-mail
Configuração OAuth 2.0
Google OAuth 2.0 - uso de apis do google
Rotinas Relacionadas
Cadastro de Provedores
Documentação da rotina responsável pelo cadastro dos provedores de autenticação e parâmetros OAuth.
Documentação pendente.
Cadastro de Contas
Documentação da rotina responsável pelo cadastro das contas de e-mail utilizadas no envio.
Documentação pendente.
Classe TLPP
Documentação técnica da classe TLPP responsável pelo gerenciamento da autenticação e envio dos e-mails.
Documentação pendente.
| side | right |
|---|
| Índice |
|---|