Esercitazione: Preparare l'app Android (Kotlin) per l'autenticazione
Questa è la seconda esercitazione della serie di esercitazioni che illustra come aggiungere Microsoft Authentication Library (MSAL) per Android all'app Android (Kotlin). MSAL consente alle applicazioni Android di autenticare gli utenti con Microsoft Entra.
In questa esercitazione si apprenderà come:
- Aggiungere dipendenze MSAL.
- Aggiungi configurazione.
Prerequisiti
- Android Studio
- Se non è già stato fatto, seguire le istruzioni riportate in Esercitazione: Registrare e configurare l'app per dispositivi mobili Android (Kotlin) e registrare un'app nel tenant esterno.
- Un progetto Android. Se non si ha un progetto Android, crearlo.
Aggiungere dipendenze MSAL
Per aggiungere dipendenze MSAL nel progetto Android, seguire questa procedura:
Aprire il progetto in Android Studio o creare un nuovo progetto.
Aprire l'applicazione
build.gradle
e aggiungere le dipendenze seguenti:allprojects { repositories { //Needed for com.microsoft.device.display:display-mask library maven { url 'https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1' name 'Duo-SDK-Feed' } mavenCentral() google() } } //... dependencies { implementation 'com.microsoft.identity.client:msal:5.+' //... }
build.gradle
Nella configurazione i repository vengono definiti per le dipendenze del progetto. Include un URL del repository Maven per lacom.microsoft.device.display:display-mask
libreria da Azure DevOps. Inoltre, utilizza i repository Maven Central e Google. La sezione dependencies specifica l'implementazione di MSAL versione 5 e potenzialmente altre dipendenze.In Android Studio selezionare Progetto di sincronizzazione file>con file Gradle.
Aggiungere la configurazione
È possibile passare gli identificatori del tenant necessari, ad esempio l'ID applicazione (client) all'SDK MSAL tramite un'impostazione di configurazione JSON.
Usare questi passaggi per creare un file di configurazione:
Nel riquadro dei progetti di Android Studio passare a app\src\main\res.
Fare clic con il pulsante destro del mouse su res e scegliere Nuova>directory. Immettere
raw
come nome della nuova directory e selezionare OK.In app\src\main\res\raw creare un nuovo file JSON denominato
auth_config_ciam_auth.json
.auth_config_ciam_auth.json
Nel file aggiungere le configurazioni MSAL seguenti:{ "client_id" : "Enter_the_Application_Id_Here", "authorization_user_agent" : "DEFAULT", "redirect_uri" : "Enter_the_Redirect_Uri_Here", "account_mode" : "SINGLE", "authorities" : [ { "type": "CIAM", "authority_url": "https://Enter_the_Tenant_Subdomain_Here.ciamlogin.com/Enter_the_Tenant_Subdomain_Here.onmicrosoft.com/" } ] }
Il file di configurazione JSON specifica varie impostazioni per un'applicazione Android. Include l'ID client, l'agente utente di autorizzazione, l'URI di reindirizzamento e la modalità account. Definisce inoltre un'autorità per l'autenticazione, specificando il tipo e l'URL dell'autorità.
Sostituire i segnaposto seguenti con i valori del tenant ottenuti dall'interfaccia di amministrazione di Microsoft Entra:
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 si conosce il sottodominio del tenant, vedere come leggere i dettagli del tenant.
Aprire il file /app/src/main/AndroidManifest.xml .
In AndroidManifest.xml aggiungere la specifica dei dati seguente a un filtro finalità:
<data android:host="ENTER_YOUR_PROJECT_PACKAGE_NAME_HERE" android:path="/ENTER_YOUR_SIGNATURE_HASH_HERE" android:scheme="msauth" />
Trovare il segnaposto:
- ENTER_YOUR_PROJECT_PACKAGE_NAME_HERE e sostituirlo con il nome del pacchetto del progetto Android.
- ENTER_YOUR_SIGNATURE_HASH_HERE e sostituirlo con l'hash della firma generato in precedenza quando è stato aggiunto l'URL di reindirizzamento della piattaforma.
Creare un'istanza di MSAL SDK
Per inizializzare l'istanza di MSAL SDK, usare il codice seguente:
private suspend fun initClient(): ISingleAccountPublicClientApplication = withContext(Dispatchers.IO) {
return@withContext PublicClientApplication.createSingleAccountPublicClientApplication(
this@MainActivity,
R.raw.auth_config_ciam_auth
)
}
Il codice inizializza in modo asincrono un'applicazione client pubblica con un singolo account. Usa il file di configurazione dell'autenticazione fornito e viene eseguito nel dispatcher di I/O.
Assicurarsi di includere le istruzioni import. Android Studio deve includere automaticamente le istruzioni import.
Passaggi successivi
Esercitazione: Accedere agli utenti nell'app per dispositivi mobili Android (Kotlin)
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per