Acesso 4D e Microsoft 365

Tradução automática de Deepl

No 4D v18 R6, 4D introduziu a autenticação OAuth 2.0 para aceder a e-mails através de transportadores IMAP, SMTP, ou POP3. Começando com 4D v19 R3, 4D continua a implementar o protocolo OAuth 2.0 e fornece uma forma de solicitar facilmente através da programação de um token da plataforma de identidade da Microsoft para se ligar ao API para o Microsoft 365.

HDI OAUTH2 Microsoft

Pré-requisitos

Antes de obter uma ficha da plataforma de identidade Microsoft, o primeiro passo é registar a sua aplicação no portal Azure. Estabelece uma relação de confiança entre a sua aplicação e a plataforma de identidade da Microsoft. A confiança é unidireccional: a sua aplicação confia na plataforma de identidade da Microsoft e não o contrário.

Este tutorial da Microsoft é um grande recurso para compreender como registar a sua aplicação no portal Azure.

O registo integra a sua aplicação com a plataforma de identidade da Microsoft e estabelece a informação que esta utiliza para obter fichas, incluindo:

  • uma identificação de cliente: Um identificador único atribuído pela plataforma de identidade da Microsoft.
  • um URI/URL Redirecto: Um ou mais pontos finais onde a sua aplicação receberá respostas da plataforma de identidade da Microsoft.
  • um Client Secret: Uma senha ou um par de chaves públicas/privadas que a sua aplicação utiliza para autenticar com a plataforma de identidade da Microsoft. (necessário apenas ao obter acesso para um serviço)

obtendo uma ficha de acesso

Os tokens de acesso emitidos pela plataforma de identidade da Microsoft contêm informações que o Microsoft Graph, o API para Microsoft 365, utiliza para validar a pessoa que efectua a chamada e assegurar que têm as permissões adequadas para realizar a operação que estão a solicitar.

Para obter a sua ficha, basta utilizar o New OAuth2 provider com toda a informação fornecida durante o registo:

$param
:=New object()
http://127.0.0.1:50993/ .name:="Microsoft"$param$param .permission:="signIn"
$param .clientId:="7008ebf5-xxxx-xxxx"
$param .redirectURI:="https://outlook.office"
$param .scope:=" .com/IMAP.AccessAsUser.All"
// Create new OAuth2 object authenticationMode
$oAuth2 :=New OAuth2 provider($param)
// Ask for a token
$token :=$oAuth2.getToken()
If ($token#Null)
// Using of the token to access emails over IMAP
IMAP authentication OAUTH2 $IMAPParameters :=New object

$IMAPParameters .
:= // Token received from the server
$IMAPParameters .accessTokenOAuth2:=$token.token.access_token
// e-mail address of the user for whom the token was created
$IMAPParameters.user:=$user
$IMAPParameters .host:="Outlook.office365.com"
$IMAPTransporter :=IMAP New transporter($IMAPParameters)
$ status :=$IMAPTransporter .checkConnection()
If (Not($
status .success))
ALERT("Acesso negado ao servidor IMAP")
End if
End if

Este comando faz parte do novo componente 4D NetKit, cujas fontes e documentação podem ser encontradas no github.

Fabrice Mainguené
- Proprietário do produto ->p>Fabrice Mainguené juntou-se à equipa do Programa 4D em Novembro, 2016. Como Proprietário do Produto, está encarregado de escrever as histórias dos utilizadores, traduzindo-as depois para especificações funcionais. O seu papel é também o de assegurar que a implementação da funcionalidade entregue vai ao encontro das necessidades do cliente.Após a obtenção da licenciatura em Informática no CNAM, Fabrice juntou-se a uma pequena empresa editora de software como programador Windev. Depois trabalhou para diferentes empresas nas áreas da indústria e comércio como programador Windev e web developer, bem como como consultor técnico sobre novas funcionalidades.