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