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