4D Netkit: Autenticação OAuth2.0 utilizando um certificado

Tradução automática de Deepl

Vários servidores OAuth 2.0, como a Microsoft Identity Platform, fornecem uma opção de autenticação que utiliza certificados em vez de segredos do cliente. Essa abordagem melhora os mecanismos de segurança e autenticação dentro do protocolo. A partir da versão 4D 20 R5, o Netkit incorpora o gerenciamento de conexão baseado em certificado OAuth 2.0.

O uso do Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants oferece maior segurança em relação aos segredos do cliente. Permite asserções encriptadas e assinadas digitalmente, reforçando os mecanismos de autenticação com informações de identificação adicionais, como certificados digitais ou JWTs. Isso reduz os riscos associados ao gerenciamento de segredos, fornecendo um método mais seguro para autenticação e autorização.

Para utilizar certificados, é necessário ter a permissão “Serviço” e utilizar as propriedades .privateKey e .thumbprint do seu objeto OAuth2Provider.

Se quiser usar certificados com a Plataforma de Identidade da Microsoft:

  • Vá para a interface de registo da aplicação Azure e carregue o seu certificado para obter o seu código Thumbprint:

  • Agora tem uma impressão digital válida para obter o seu token:
var $params;$token : Object
var $oAuth : cs.NetKit.OAuth2Provider
var $privatekey:=File("/RESOURCES/key.pem").getText("ascii"; Document unchanged)

If (Length($t_privatekey)>0)
	$params:=New object()
	$params.name:="Microsoft"
	// Only usable with permission:="Service"
	$params.permission:="Service"
	$params.clientId:="8008ebf5-xxx"
	
	$params.scope:="https://graph.microsoft.com/.default"
	$params.tenant:="16dc191b-xxx"
	$params.clientEmail:=$myClientEmail
	
	// Certificate private key
        $params.privateKey:=$t_privatekey
        // Thumbprint of certificate / public key can be copied in Azure portal at certificated & secrets
	$params.thumbprint:="A4CC91B864xxx"  
	
	$oAuth:=cs.NetKit.OAuth2Provider.new($params)
	$token:=$cs_oAuth.getToken()
End if 

Em conclusão, a utilização de uma autenticação baseada em certificados OAuth 2.0, conforme descrito no RFC 7521, melhora as medidas de segurança em relação aos segredos do cliente. Seguindo as directrizes da documentação, os programadores podem integrar certificados de forma segura com servidores OAuth 2.0, como a Microsoft Identity Platform, garantindo mecanismos robustos de autenticação de aplicações.

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.