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:
Autorità (composta dall'istanza del provider di identità e dal gruppo di destinatari di accesso per l'app e possibilmente dall'ID tenant)
Opzioni di registrazione, inclusi il livello di log, il controllo dei dati personali e il nome del componente tramite la libreria
Authority
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à:
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.
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.
È 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:
Quando si compila un'app usando MSAL Android, è possibile configurare redirect_uri durante il passaggio di registrazione dell'app iniziale o aggiungerla in un secondo momento.
Il formato dell'URI di reindirizzamento è: msauth://<yourpackagename>/<base64urlencodedsignature>
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. La registrazione a ogni raccolta è illustrato negli articoli seguenti:
Illustrare le funzionalità di Microsoft Entra ID per modernizzare le soluzioni di identità, implementare soluzioni ibride e implementare la governance delle identità.
Un indice di esempi di codice di Identity Platform, raggruppati per tipi di app, linguaggi e framework, mostra come queste librerie abilitano l'autenticazione e l'autorizzazione delle app.
Microsoft Authentication Library (MSAL) consente agli sviluppatori di applicazioni di acquisire token per chiamare API Web protette. Queste API Web possono essere Microsoft Graph, altre API Microsoft, API Web di terze parti o api Web personalizzate. MSAL supporta più architetture e piattaforme applicative.
Elenco di librerie client e middleware compatibili con Microsoft Identity Platform. Usare queste librerie per aggiungere il supporto per l'accesso utente (autenticazione) e l'accesso protetto alle API Web (autorizzazione) alle applicazioni.