Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo analisa como a biblioteca de Identidades do Azure dá suporte à autenticação de token do Microsoft Entra com credenciais fornecidas pelo usuário. Esse suporte é possível por meio de um conjunto de implementações TokenCredential discutidas neste artigo.
Este artigo aborda os seguintes temas:
- Credencial de código do dispositivo
- Credencial interativa do navegador
Credencial de código do dispositivo
A credencial de código de dispositivo autentica interativamente um usuário em dispositivos com interface do usuário limitada. Ele funciona solicitando que o usuário visite uma URL de entrada em uma máquina habilitada para navegador quando o aplicativo tenta se autenticar. Em seguida, o utilizador introduz o código do dispositivo mencionado nas instruções, juntamente com as suas credenciais de início de sessão. Após a autenticação bem-sucedida, o aplicativo que solicitou a autenticação é autenticado com êxito no dispositivo em que está sendo executado.
Para mais informações, consulte Plataforma de identidade da Microsoft e o fluxo de autorização de concessão de dispositivo OAuth 2.0.
Habilitar aplicativos para fluxo de código de dispositivo
Para autenticar um usuário por meio do fluxo de código do dispositivo, use as seguintes etapas:
- Aceda ao ID do Microsoft Entra no portal do Azure e localize o registo da sua aplicação.
- Navegue até a seção Autenticação .
- Em URIs redirecionados sugeridos, verifique o URI que termina com
/common/oauth2/nativeclient. - Em Tipo de Cliente Padrão, selecione
yesparaTreat application as a public client.
Essas etapas permitem que o aplicativo se autentique, mas ele ainda não tem permissão para entrar no ID do Microsoft Entra ou acessar recursos em seu nome. Para resolver este problema, navegue até Permissões de API e ative o Microsoft Graph e os recursos que deseja acessar, como o Cofre de Chaves.
Também precisa de ser o administrador do seu locatário para permitir o acesso à sua aplicação ao iniciar sessão pela primeira vez.
Se não for possível configurar a opção de fluxo de código do dispositivo na sua ID do Microsoft Entra, isso poderá exigir que a sua aplicação seja multicliente. Para tornar a sua aplicação multilocatária, navegue até ao painel Autenticação e selecione Contas em qualquer diretório de organizações. Em seguida, selecione sim para Tratar a aplicação como Cliente Público.
Autenticar uma conta de usuário com fluxo de código de dispositivo
O exemplo a seguir demonstra a autenticação da SecretClient biblioteca de cliente do Azure Key Vault Secret para Java usando o DeviceCodeCredential em um dispositivo IoT.
/**
* Authenticate with device code credential.
*/
DeviceCodeCredential deviceCodeCredential = new DeviceCodeCredentialBuilder()
.challengeConsumer(challenge -> {
// Lets the user know about the challenge.
System.out.println(challenge.getMessage());
}).build();
// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your Key Vault name>.vault.azure.net")
.credential(deviceCodeCredential)
.buildClient();
Credencial interativa do navegador
Essa credencial autentica interativamente um usuário com o navegador do sistema padrão e oferece uma experiência de autenticação suave, permitindo que você use suas próprias credenciais para autenticar seu aplicativo.
Habilitar aplicativos para fluxo OAuth 2 do navegador interativo
Para usar InteractiveBrowserCredentialo , você precisa registrar um aplicativo no Microsoft Entra ID com permissões para entrar em nome de um usuário. Siga as etapas anteriores para o fluxo de código do dispositivo para registrar seu aplicativo. Como mencionado anteriormente, um administrador do seu locatário deve conceder consentimento ao seu aplicativo antes que qualquer conta de usuário possa entrar.
Você pode notar em InteractiveBrowserCredentialBuilder, é necessário um URL de redirecionamento. Adicione a URL de redirecionamento à subseção Redirecionar URIs na seção Autenticação do seu aplicativo Microsoft Entra registrado.
Autenticar uma conta de usuário interativamente no navegador
O exemplo a seguir demonstra a autenticação do `SecretClient` usando a biblioteca `azure-security-keyvault-secrets` com o `` cliente.
/**
* Authenticate interactively in the browser.
*/
InteractiveBrowserCredential interactiveBrowserCredential = new InteractiveBrowserCredentialBuilder()
.clientId("<your app client ID>")
.redirectUrl("YOUR_APP_REGISTERED_REDIRECT_URL")
.build();
// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your Key Vault name>.vault.azure.net")
.credential(interactiveBrowserCredential)
.buildClient();
Próximos passos
Este artigo abordou a autenticação com credenciais de usuário. Essa forma de autenticação é uma das várias maneiras de autenticar no SDK do Azure para Java. Os artigos a seguir descrevem outras maneiras:
- Autenticação do Azure em ambientes de desenvolvimento
- A autenticar aplicações alojadas no Azure
- Autenticação com entidades de serviço
Depois de dominar a autenticação, consulte Configurar o log no SDK do Azure para Java para obter informações sobre a funcionalidade de registro em log fornecida pelo SDK.