Opzioni di configurazione dell'applicazione

Per autenticare e acquisire i token, inizializzare una nuova applicazione client pubblica o riservata nel codice. È possibile impostare diverse opzioni di configurazione quando si inizializza l'app client in Microsoft Authentication Library (MSAL). Queste opzioni rientrano in due gruppi:

  • Opzioni di registrazione, tra cui:
  • Opzioni di registrazione, inclusi il livello di log, il controllo dei dati personali e il nome del componente tramite la libreria

Autorità

L'autorità è un URL che indica una directory da cui MSAL può richiedere token.

Le autorità comuni sono:

URL di autorità comuni Quando utilizzare
https://login.microsoftonline.com/<tenant>/ Accedere solo agli utenti di un'organizzazione specifica. <tenant> Nell'URL è l'ID tenant del tenant di Microsoft Entra (GUID) o il relativo dominio tenant.
https://login.microsoftonline.com/common/ Accedere agli utenti con account aziendali e dell'istituto di istruzione o account Microsoft personali.
https://login.microsoftonline.com/organizations/ Accedere agli utenti con account aziendali e dell'istituto di istruzione.
https://login.microsoftonline.com/consumers/ Accedere agli utenti con account Microsoft personali (MSA).

L'autorità specificata nel codice deve essere coerente con i tipi di account supportati specificati per l'app in Registrazioni app nel portale di Azure.

L'autorità può essere:

  • Un'autorità cloud Di Microsoft Entra.
  • Un'autorità di Azure AD B2C. Vedere Specifiche di B2C.
  • Un'autorità di Active Directory Federation Services (AD FS). Vedere Supporto di AD FS.

Le autorità cloud di Microsoft Entra hanno due parti:

  • Istanza del provider di identità
  • Destinatari dell'accesso per l'app

L'istanza e il gruppo di destinatari possono essere concatenati e forniti come URL dell'autorità. Questo diagramma mostra come è composto l'URL dell'autorità:

Come viene composto l'URL dell'autorità

Istanza cloud

L'istanza viene usata per specificare se l'app firma gli utenti dal cloud pubblico di Azure o dai cloud nazionali. Usando MSAL nel codice, è possibile impostare l'istanza cloud di Azure usando un'enumerazione o passando l'URL all'istanza cloud nazionale come Instance membro.

MSAL.NET genererà un'eccezione esplicita se vengono specificati sia Instance che AzureCloudInstance .

Se non si specifica un'istanza, l'app avrà come destinazione l'istanza del cloud pubblico di Azure (l'istanza di URL https://login.onmicrosoftonline.com).

Destinatari dell'applicazione

Il gruppo di destinatari dell'accesso dipende dalle esigenze aziendali per l'app:

  • Se si è uno sviluppatore line-of-business (LOB), probabilmente si produrrà un'applicazione a tenant singolo che verrà usata solo nell'organizzazione. In tal caso, specificare l'organizzazione in base al relativo ID tenant (ID dell'istanza di Microsoft Entra) o da un nome di dominio associato all'istanza di Microsoft Entra.
  • Se sei un ISV, potresti voler accedere agli utenti con gli account aziendali e dell'istituto di istruzione in qualsiasi organizzazione o in alcune organizzazioni (app multi-tenant). Ma è anche possibile che gli utenti esedano con gli account Microsoft personali.

Come specificare il gruppo di destinatari nel codice o nella configurazione

Usando MSAL nel codice, è possibile specificare il gruppo di destinatari usando uno dei valori seguenti:

  • Enumerazione del gruppo di destinatari di Microsoft Entra authority
  • ID tenant, che può essere:
    • GUID (ID dell'istanza di Microsoft Entra) per le applicazioni a tenant singolo
    • Nome di dominio associato all'istanza di Microsoft Entra (anche per le applicazioni a tenant singolo)
  • Uno di questi segnaposto come ID tenant al posto dell'enumerazione Audience di Microsoft Entra authority:
    • organizations per un'applicazione multi-tenant
    • consumers per accedere solo agli utenti con i propri account personali
    • common per accedere agli utenti con gli account aziendali e dell'istituto di istruzione o con i propri account Microsoft personali

MSAL genererà un'eccezione significativa se si specificano sia il gruppo di destinatari dell'autorità Microsoft Entra che l'ID tenant.

È consigliabile specificare un gruppo di destinatari, il numero di tenant e le applicazioni distribuite in essi avranno utenti guest. Se l'applicazione avrà utenti esterni, è consigliabile evitare gli endpoint di common e organization . Se non specifichi un gruppo di destinatari, la tua app sarà destinato agli account Microsoft Entra ID e Personali Microsoft come gruppo di destinatari e si comporterà come se common fosse stato specificato.

Destinatari effettivi

Il gruppo di destinatari effettivo per l'applicazione sarà il minimo (se è presente un'intersezione) del gruppo di destinatari impostato nell'app e del gruppo di destinatari specificato nella registrazione dell'app. In effetti, l'esperienza Registrazioni app consente di specificare il gruppo di destinatari (i tipi di account supportati) per l'app. Per ulteriori informazioni, vedi Avvio rapido: registrare un'applicazione con la piattaforma di identità Microsoft.

Attualmente, l'unico modo per ottenere un'app per l'accesso degli utenti con solo account Microsoft personali consiste nel configurare entrambe queste impostazioni:

  • Impostare il gruppo di destinatari di registrazione dell'app su Work and school accounts and personal accounts.
  • Impostare il gruppo di destinatari nel codice/configurazione su AadAuthorityAudience.PersonalMicrosoftAccount (o TenantID ="consumer").

ID client

L'ID client è l'ID applicazione (client) univoco assegnato all'app da Microsoft Entra ID al momento della registrazione dell'app. È possibile trovare l'ID applicazione (client) nella pagina Panoramica dell'applicazione in Applicazioni> aziendali di identità.>

URI di reindirizzamento

L'URI di reindirizzamento è l'URI a cui il provider di identità invierà nuovamente i token di sicurezza.

URI di reindirizzamento per le app client pubbliche

Gli sviluppatori di app client pubbliche che usano MSAL:

  • Vuoi usare .WithDefaultRedirectUri() nelle applicazioni desktop o piattaforma UWP (Universal Windows Platform) (UWP) (MSAL.NET 4.1+). Il .WithDefaultRedirectUri() metodo imposta la proprietà URI di reindirizzamento dell'applicazione client pubblica sull'URI di reindirizzamento consigliato predefinito per le applicazioni client pubbliche.

    Piattaforma URI di reindirizzamento
    Desktop app (.NET Framework) https://login.microsoftonline.com/common/oauth2/nativeclient
    UWP valore di WebAuthenticationBroker.GetCurrentApplicationCallbackUri(). In questo modo viene abilitato l'accesso Single Sign-On (SSO) con il browser impostando il valore sul risultato di WebAuthenticationBroker.GetCurrentApplicationCallbackUri(), che è necessario registrare
    .NET https://localhost consente all'utente di usare il browser di sistema per l'autenticazione interattiva poiché .NET non ha un'interfaccia utente per la visualizzazione Web incorporata al momento.
  • Non è necessario aggiungere un URI di reindirizzamento se si sta creando un'applicazione Xamarin Android e iOS che non supporta l'URI di reindirizzamento del broker. Viene impostato automaticamente su msal{ClientId}://auth per Xamarin Android e iOS.

  • Configurare l'URI di reindirizzamento in Registrazioni app:

    URI di reindirizzamento in Registrazioni app

È possibile eseguire l'override dell'URI di reindirizzamento usando la RedirectUri proprietà , ad esempio se si usano broker. Ecco alcuni esempi di URI di reindirizzamento per questo scenario:

  • RedirectUriOnAndroid = "msauth-5a434691-ccb2-4fd1-b97b-b64bcfbc03fc://com.microsoft.identity.client.sample";
  • RedirectUriOnIos = $"msauth. {Bundle.ID}://auth";

Per altre informazioni su iOS, vedere Eseguire la migrazione di applicazioni iOS che usano Microsoft Authenticator da ADAL.NET a MSAL.NET e Sfruttare il broker in iOS. Per altri dettagli su Android, vedere Autenticazione negoziata in Android.

URI di reindirizzamento per le app client riservate

Per le app Web, l'URI di reindirizzamento (o l'URL di risposta) è l'URI che verrà usato da Microsoft Entra ID per inviare di nuovo il token all'applicazione. L'URI può essere l'URL dell'app Web o dell'API Web se l'app riservata è una di esse. L'URI di reindirizzamento deve essere registrato nella registrazione dell'app. La registrazione è particolarmente importante quando si distribuisce un'app testata inizialmente in locale. È quindi necessario aggiungere l'URL di risposta dell'app distribuita nel portale di registrazione dell'applicazione.

Per le app daemon, non è necessario specificare un URI di reindirizzamento.

Segreto client

Questa opzione specifica il segreto client per l'app client riservata. Il segreto client (password dell'app) viene fornito dal portale di registrazione dell'applicazione o fornito all'ID Microsoft Entra durante la registrazione dell'app con l'ID Di PowerShell Microsoft Entra, PowerShell AzureRM o l'interfaccia della riga di comando di Azure.

Registrazione

Per facilitare il debug e gli scenari di risoluzione degli errori di autenticazione, MSAL offre il supporto predefinito per la registrazione. L'accesso a ogni raccolta è illustrato negli articoli seguenti:

Passaggi successivi

Informazioni sulla creazione di istanze delle applicazioni client usando MSAL.NET e la creazione di istanze delle applicazioni client usando MSAL.js.