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.
Si applica a: cerchio bianco tenant della forza lavoro
tenant esterni (altre)
All'inizio, usa il selettore Scegli un tipo di tenant nella parte superiore di questa pagina per selezionare il tipo di tenant. Microsoft Entra ID offre due configurazioni tenant, forza lavoro e esterna. Una configurazione del tenant della forza lavoro è destinata ai dipendenti, alle app interne e ad altre risorse dell'organizzazione. Un tenant esterno è destinato alle app rivolte ai clienti.
Questa guida illustra come configurare un'applicazione per dispositivi mobili di esempio per l'accesso degli utenti e chiamare un'API Web ASP.NET Core.
- Androide
- iOS/macOS
In questo articolo vengono eseguite le attività seguenti:
- Aggiungere un URL di reindirizzamento della piattaforma a un'applicazione Web.
- Abilitare i flussi client pubblici.
- Aggiorna il file di esempio del codice di configurazione Android per utilizzare il tuo Microsoft Entra External ID per i dettagli del tenant del cliente.
- Eseguire e testare l'applicazione per dispositivi mobili Android di esempio.
- Chiamare un'API Web protetta.
Prerequisiti
- Androide
- iOS/macOS
Un tenant esterno. Se non ne hai già uno, registrati per una prova gratuita.
Registrare una nuova applicazione Web client nel centro di amministrazione di Microsoft Entra, configurata per gli account in qualsiasi directory organizzativa e per gli account Microsoft personali. Per altri dettagli, vedere Registrare un'applicazione . Registrare i valori seguenti dalla pagina Panoramica dell'applicazione per usarli in un secondo momento:
- ID applicazione (cliente)
- ID della directory (cliente)
Registrazione api Web che espone almeno un ambito (autorizzazioni delegate) e un ruolo dell'app (autorizzazione dell'applicazione), ad esempio ToDoList.Read. Se non l'hai già fatto, segui le istruzioni per chiamare un'API in un'app Android di esempio per dispositivi mobili per avere un'API Web ASP.NET Core protetta e funzionale. Assicurarsi di completare i passaggi seguenti:
- Configurare gli ambiti API
- Configurare i ruoli dell'app
- Configurare attestazioni facoltative
- Clonare o scaricare l'API Web di esempio
- Configurare ed eseguire un'API Web di esempio
Aggiungere un URL di reindirizzamento della piattaforma
- Androide
- iOS/macOS
Per specificare il tipo di app per la registrazione dell'app, seguire questa procedura:
- In Gestire, seleziona Autenticazione.
- Nella pagina configurazioni della piattaforma selezionare Aggiungi una piattaformae quindi selezionare 'opzione Android.
- Immettere il nome del pacchetto del progetto. Se è stato scaricato il codice di esempio , questo valore è
com.azuresamples.msaldelegatedandroidkotlinsampleapp
. - Nella sezione hash della firma del riquadro Configura la tua app Android, selezionare Generazione di un hash della firma di sviluppo. Ciò cambierà per ogni ambiente di sviluppo. Copia ed esegui il comando KeyTool per il sistema operativo nel Terminale.
- Immettere il hash della firma generato da KeyTool.
- Selezionare Configura.
- Copiare il configurazione MSAL dal riquadro configurazione di Android e salvarlo per una configurazione successiva dell'app.
- Selezionare Fine.
Abilitare il flusso client pubblico
Per identificare l'app come client pubblico, seguire questa procedura:
In Gestire, seleziona Autenticazione.
In Impostazioni avanzate, nella sezione Consenti flussi client pubblici, selezionare Sì.
Selezionare Salva per salvare le modifiche.
Concedere autorizzazioni api Web all'app di esempio
Dopo aver registrato la tua app client e l'API Web, ed esposto l'API creando ambiti specifici, è possibile configurare le autorizzazioni del client per l'API seguendo questi passaggi:
Nella pagina registrazioni dell'app selezionare l'applicazione creata (ad esempio ciam-client-app) per aprire la relativa pagina panoramica.
In Gestisciselezionare autorizzazioni API .
In Autorizzazioni configurate, selezionare Aggiungi un'autorizzazione.
Seleziona la scheda le API che la mia organizzazione utilizza.
Nell'elenco delle API selezionare l'API, ad esempio ciam-ToDoList-api.
Selezionare l'opzione Autorizzazioni delegate.
Nell'elenco delle autorizzazioni selezionare ToDoList.Read, ToDoList.ReadWrite (usare la casella di ricerca, se necessario).
Selezionare il pulsante Aggiungi permessi.
A questo punto, le autorizzazioni sono state assegnate correttamente. Tuttavia, poiché il tenant appartiene a un cliente, gli utenti consumatori stessi non possono fornire il consenso per queste autorizzazioni. Per risolvere questo problema, l'amministratore deve fornire il consenso a queste autorizzazioni per conto di tutti gli utenti nel tenant:
Selezionare Concedi consenso amministratore per <il nome del tenant>e quindi selezionare Sì.
Selezionare Aggiorna, quindi verificare che < il nome del tenant>appaia sotto Stato per entrambe le autorizzazioni.
Nell'elenco Autorizzazioni configurate selezionare l'ToDoList.Read e ToDoList.ReadWrite autorizzazioni, una alla volta e quindi copiare l'URI completo dell'autorizzazione per un uso successivo. L'URI completo delle autorizzazioni è simile a
api://{clientId}/{ToDoList.Read}
oapi://{clientId}/{ToDoList.ReadWrite}
.
Clonare un'applicazione per dispositivi mobili di esempio
- Androide
- iOS/macOS
Per ottenere l'applicazione di esempio, è possibile clonarla da GitHub o scaricarla come file .zip.
Per clonare l'esempio, aprire un prompt dei comandi e passare alla posizione in cui si vuole creare il progetto e immettere il comando seguente:
git clone https://github.com/Azure-Samples/ms-identity-ciam-browser-delegated-android-sample
Configurare l'applicazione per dispositivi mobili Android di esempio
- Androide
- iOS/macOS
Per abilitare l'autenticazione e l'accesso alle risorse dell'API Web, configurare l'esempio seguendo questa procedura:
In Android Studio aprire il progetto clonato.
Aprire il file /app/src/main/res/raw/auth_config_ciam.json.
Trova il segnaposto:
-
Enter_the_Application_Id_Here
e sostituirlo con l'ID applicazione (client) dell'app registrata in precedenza. -
Enter_the_Redirect_Uri_Here
e sostituirlo con il valore di redirect_uri nel file di configurazione di Microsoft Authentication Library (MSAL) scaricato in precedenza quando è stato aggiunto l'URL di reindirizzamento della piattaforma. -
Enter_the_Tenant_Subdomain_Here
e sostituirlo con il sottodominio Directory (tenant). Ad esempio, se il dominio primario del tenant ècontoso.onmicrosoft.com
, usarecontoso
. Se non conosci il sottodominio del tuo locatario, scopri come leggere i dettagli del locatario.
-
Apri il file /app/src/main/AndroidManifest.xml.
Trova il segnaposto:
- Sostituisci
ENTER_YOUR_SIGNATURE_HASH_HERE
con l'hash della firma che hai generato prima quando hai aggiunto l'URL di reindirizzamento della piattaforma.
- Sostituisci
Apri il file /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt.
Trovare la proprietà denominata
WEB_API_BASE_URL
e impostare l'URL sull'API Web.Trova la proprietà denominata
scopes
e imposta gli ambiti registrati in , quindi concedi le autorizzazioni API Web all'app di esempio Android.private const val scopes = "" // Developers should set the respective scopes of their web API here. For example, private const val scopes = "api://{clientId}/{ToDoList.Read} api://{clientId}/{ToDoList.ReadWrite}"
L'app è stata configurata ed è pronta per l'esecuzione.
Eseguire un'app di esempio e chiamare l'API Web
- Androide
- iOS/macOS
Per compilare ed eseguire l'app, seguire questa procedura:
Nella barra degli strumenti selezionare l'app dal menu Delle configurazioni di esecuzione.
Nel menu del dispositivo di destinazione selezionare il dispositivo in cui si vuole eseguire l'app.
Se non sono configurati dispositivi, è necessario creare un dispositivo virtuale Android per usare l'emulatore Android o connettere un dispositivo Android fisico.
Selezionare il pulsante Esegui.
Selezionare Acquisire token in modo interattivo per richiedere un token di accesso.
Selezionare API : eseguire GET per chiamare l'API Web di base ASP.NET configurata in precedenza. Una chiamata riuscita all'API Web restituisce HTTP 200, mentre HTTP 403 indica l'accesso non autorizzato.