Condividi tramite


Autenticazione di Azure con credenziali utente

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:

  1. Vai a Microsoft Entra ID nel portale di Azure e trova la registrazione dell'applicazione.
  2. Passare alla sezione Autenticazione .
  3. In URI reindirizzati suggeriti, controllare l'URI che termina con /common/oauth2/nativeclient.
  4. Sotto Tipo di client predefinito, seleziona yes per Treat 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 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.