SDK da Proteção de Informações da Microsoft - conceitos de autenticação
A autenticação no SDK da PIM é executada estendendo a classe mip::AuthDelegate
para implementar seu método preferido de autenticação. mip::AuthDelegate
contém:
mip::AuthDelegate::OAuth2Challenge
- uma classe que gerencia as informações de autoridade OAuth2 e fornece ao aplicativo cliente.mip::AuthDelegate::OAuth2Token
- uma classe gerencia a aquisição de token de acesso OAuth2 (do aplicativo cliente) e o armazenamento de tokens.mip::AuthDelegate::AcquireOAuth2Token()
- uma função virtual pura, cuja implementação determina o método de aquisição de token de acesso. Depois de ser chamado pelo SDK, ele adquire o token de acesso e, em seguida, o fornece de volta à lógica de autenticação do SDK.
mip::AuthDelegate::AcquireOAuth2Token
aceita os seguintes parâmetros e retorna um bool indicando se a aquisição de token foi bem-sucedida:
mip::Identity
: a identidade do usuário ou serviço a ser autenticado, se conhecido.mip::AuthDelegate::OAuth2Challenge
: aceita quatro parâmetros, autoridade, recurso, reivindicações e escopos. Autoridade é o serviço contra o qual o token será gerado. Recurso é o serviço que estamos tentando acessar. O SDK manipulará a transmissão desses parâmetros para o delegado quando chamado. Reivindicações são aquelas específicas do rótulo exigidas pelo serviço de proteção. Escopos são aqueles da permissão do Microsoft Entra necessários para acessar o recurso.mip::AuthDelegate::OAuth2Token
: o resultado do token é gravado nesse objeto. Ele será consumido pelo SDK quando o mecanismo for carregado. Fora da nossa implementação de autenticação, não deve ser necessário obter ou definir esse valor em qualquer lugar.
Importante: os aplicativos não chamam AcquireOAuth2Token
diretamente. O SDK chamará essa função quando for necessário.
Próximas etapas
Para simplificar, os exemplos que demonstram o delegado implementarão a aquisição de token chamando um script externo. Esse script pode ser substituído por qualquer outro tipo de script, uma biblioteca OAuth2 de código aberto ou personalizada.