4D Netkit: Autenticación OAuth2.0 mediante certificado

Traducido automáticamente de Deepl

Varios servidores OAuth 2.0, como Microsoft Identity Platform, ofrecen una opción de autenticación que utiliza certificados en lugar de secretos de cliente. Este enfoque mejora los mecanismos de seguridad y autenticación dentro del protocolo. A partir de la versión 4D 20 R5, Netkit incorpora la gestión de conexiones basada en certificados OAuth 2.0.

El uso del Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants ofrece mayor seguridad que los secretos de cliente. Permite aserciones cifradas y firmadas digitalmente, reforzando los mecanismos de autenticación con información de identificación adicional como certificados digitales o JWT. Esto reduce los riesgos asociados a la gestión de secretos, proporcionando un método más seguro de autenticación y autorización.

Para utilizar certificados, necesitas tener permiso de «Servicio» y utilizar las propiedades .privateKey y .thumbprint de tu objeto OAuth2Provider.

Si desea utilizar certificados con Microsoft Identity Platform:

  • Ve a la interfaz de registro de Azure App y sube tu certificado para obtener tu código Thumbprint:

  • Ahora tienes un Thumbprint válido para obtener tu 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 

En conclusión, el uso de una autenticación basada en certificados OAuth 2.0, como se indica en la RFC 7521, mejora las medidas de seguridad sobre los secretos del cliente. Siguiendo las directrices de la documentación, los desarrolladores pueden integrar de forma segura certificados con servidores OAuth 2.0 como la Plataforma de Identidad de Microsoft, asegurando mecanismos robustos de autenticación de aplicaciones.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se unió al equipo de 4D Program en noviembre de 2016. Como Product Owner, está a cargo de escribir las historias de usuario y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la característica entregada cumple con las necesidades del cliente. Después de obtener una licenciatura en Ciencias de la Computación en el CNAM, Fabrice se unió a una pequeña empresa de publicación de software como desarrollador Windev. A continuación, trabajó para diferentes empresas del sector industrial y comercial como desarrollador de Windev y de la web, así como asesor técnico de nuevas funcionalidades.