Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra in che modo la libreria di identità di Azure supporta l'autenticazione del token Microsoft Entra con le credenziali fornite dall'utente. Questo supporto è reso possibile tramite un set di implementazioni tokenCredential descritte in questo articolo.
Questo articolo illustra gli argomenti seguenti:
- Credenziali del codice dispositivo
- Credenziali interattive del browser
Credenziali del codice del dispositivo
La credenziale del codice del dispositivo autentica in modo interattivo un utente nei dispositivi con interfaccia utente limitata. Funziona richiedendo all'utente di visitare un URL di accesso in un computer abilitato al browser quando l'applicazione tenta di eseguire l'autenticazione. L'utente immette quindi il codice del dispositivo indicato nelle istruzioni insieme alle credenziali di accesso. Al termine dell'autenticazione, l'applicazione che ha richiesto l'autenticazione viene autenticata correttamente nel dispositivo in cui è in esecuzione.
Per ulteriori informazioni, vedere Microsoft identity platform e il flusso di autorizzazione del dispositivo OAuth 2.0.
Abilitare le applicazioni per il flusso di codice del dispositivo
Per autenticare un utente tramite il flusso del codice del dispositivo, seguire questa procedura:
- Vai a Microsoft Entra ID nel portale di Azure e trova la registrazione dell'applicazione.
- Passare alla sezione Autenticazione .
- In URI reindirizzati suggeriti, controllare l'URI che termina con
/common/oauth2/nativeclient
. - Sotto Tipo di client predefinito, seleziona
yes
perTreat application as a public client
.
Questi passaggi consentono all'applicazione di eseguire l'autenticazione, ma non dispone ancora dell'autorizzazione necessaria per accedere all'ID Microsoft Entra o accedere alle risorse per conto dell'utente. Per risolvere questo problema, passare a Autorizzazioni API e abilitare Microsoft Graph e le risorse a cui si vuole accedere, ad esempio Key Vault.
È anche necessario essere l'amministratore del tenant per concedere il consenso all'applicazione quando si accede per la prima volta.
Se non è possibile configurare l'opzione del flusso di codice del dispositivo nell'ID Microsoft Entra, potrebbe essere necessario che l'app sia multi-tenant. Per rendere l'app multi-tenant, vai al pannello Autenticazione e quindi seleziona Account in qualsiasi directory organizzativa. Selezionare sì per Tratta l'applicazione come client pubblico.
Autenticare un account utente con il flusso del codice del dispositivo
L'esempio seguente dimostra l'autenticazione del SecretClient
dalla libreria client dei segreti di Azure Key Vault per Java usando il DeviceCodeCredential
su un 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();
Credenziali interattive del browser
Questa credenziale autentica in modo interattivo un utente con il browser di sistema predefinito e offre un'esperienza di autenticazione senza problemi consentendo di usare le proprie credenziali per autenticare l'applicazione.
Abilitare le applicazioni per il flusso OAuth 2 interattivo del browser
Per usare InteractiveBrowserCredential
, è necessario registrare un'applicazione in Microsoft Entra ID con autorizzazioni per effettuare l'accesso per conto di un utente. Seguire i passaggi precedenti per il flusso del codice del dispositivo per registrare l'applicazione. Come accennato in precedenza, un amministratore del tenant deve concedere il consenso all'applicazione prima che qualsiasi account utente possa accedere.
È possibile notare che in InteractiveBrowserCredentialBuilder
, è necessario un URL di reindirizzamento. Aggiungi l'URL di reindirizzamento alla sottosezione URI di reindirizzamento nella sezione Autenticazione della tua applicazione Microsoft Entra registrata.
Autenticare un account utente in modo interattivo nel browser
L'esempio seguente dimostra l'autenticazione del SecretClient
dalla libreria client azure-security-keyvault-secrets usando il InteractiveBrowserCredential
.
/**
* 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();
Passaggi successivi
Questo articolo ha illustrato l'autenticazione con le credenziali utente. Questa forma di autenticazione è uno dei diversi modi in cui è possibile eseguire l'autenticazione in Azure SDK per Java. Gli articoli seguenti descrivono altri modi:
- Autenticazione di Azure negli ambienti di sviluppo
- Autenticazione di applicazioni ospitate in Azure
- Autenticazione con principali del servizio
Dopo aver acquisito padronanza dell'autenticazione, consultare Configurare la registrazione nell'Azure SDK per Java per informazioni sulle funzionalità di registrazione fornite dall'SDK.