SDK da Proteção de Informações da Microsoft - Conceitos de autenticação
A autenticação no MIP SDK é 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 da 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 do 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 do 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, declarações e escopos. Autoridade é o serviço contra o qual o token será gerado. Recurso é o serviço que estamos tentando acessar. O SDK tratará de passar esses parâmetros para o delegado quando chamado. As declarações são as reivindicações específicas do rótulo exigidas pelo serviço de proteção. Escopos são os escopos de permissão do Microsoft Entra necessários para acessar o recurso.mip::AuthDelegate::OAuth2Token
: O resultado do token é gravado neste 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 ligam AcquireOAuth2Token
diretamente. O SDK chamará essa função quando necessário.
Próximos passos
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 uma biblioteca OAuth2 personalizada.