Mehrere OAuth 2.0-Server, wie die Microsoft Identity Platform, bieten eine Authentifizierungsoption, die Zertifikate anstelle von Client-Geheimnissen verwendet. Dieser Ansatz verbessert die Sicherheits- und Authentifizierungsmechanismen innerhalb des Protokolls. Ab der Version 4D 20 R5 beinhaltet Netkit ein OAuth 2.0 zertifikatsbasiertes Verbindungsmanagement.
Die Verwendung des Assertion Frameworks für OAuth 2.0 Client Authentication and Authorization Grants bietet mehr Sicherheit als Client-Secrets. Es ermöglicht verschlüsselte und digital signierte Assertions, die Authentifizierungsmechanismen mit zusätzlichen Identifizierungsinformationen wie digitalen Zertifikaten oder JWTs verstärken. Dies verringert die mit der Verwaltung von Secrets verbundenen Risiken und bietet eine sicherere Methode zur Authentifizierung und Autorisierung.
Um Zertifikate zu verwenden, benötigen Sie die Berechtigung „Service“ und müssen die Eigenschaften .privateKey und .thumbprint Ihres OAuth2Provider-Objekts verwenden.
Wenn Sie Zertifikate mit Microsoft Identity Platform verwenden möchten:
- Gehen Sie zur Azure App-Registrierungsschnittstelle und laden Sie Ihr Zertifikat hoch, um Ihren Thumbprint-Code zu erhalten:
- Sie haben nun einen gültigen Thumbprint, um Ihr Token zu erhalten:
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