Diversi server OAuth 2.0, come Microsoft Identity Platform, offrono un’opzione di autenticazione che utilizza i certificati invece dei segreti del cliente. Questo approccio migliora i meccanismi di sicurezza e di autenticazione del protocollo. A partire dalla versione 4D 20 R5, Netkit incorpora la gestione delle connessioni basata sui certificati OAuth 2.0.
L’utilizzo di Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants offre una maggiore sicurezza rispetto ai segreti del client. Consente asserzioni crittografate e firmate digitalmente, rafforzando i meccanismi di autenticazione con informazioni di identificazione aggiuntive come certificati digitali o JWT. Questo riduce i rischi associati alla gestione dei segreti, fornendo un metodo più sicuro per l’autenticazione e l’autorizzazione.
Per utilizzare i certificati, è necessario disporre del permesso “Service” e utilizzare le proprietà .privateKey e .thumbprint dell’oggetto OAuth2Provider.
Se si desidera utilizzare i certificati con Microsoft Identity Platform:
- Accedere all’interfaccia di registrazione di Azure App e caricare il certificato per ottenere il codice Thumbprint:
- Ora si dispone di un Thumbprint valido per ottenere il 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