Gebruikers aanmelden in een voorbeeld-App voor Android (Kotlin)
Deze handleiding laat zien hoe u een voorbeeld van een mobiele Android-toepassing configureert om gebruikers aan te melden.
In dit artikel voert u de volgende taken uit:
- Registreer een toepassing in het Microsoft Entra-beheercentrum.
- Voeg een omleidings-URL voor het platform toe.
- Schakel openbare clientstromen in.
- Werk het voorbeeldbestand van de Android-configuratiecode bij om uw eigen Microsoft Entra Externe ID te gebruiken voor tenantgegevens van de klant.
- Voer de mobiele Android-voorbeeldtoepassing uit en test deze.
Vereisten
- Android Studio.
- Een externe tenant. Als u nog geen abonnement hebt, meldt u zich aan voor een gratis proefversie.
Een toepassing registreren
Als u wilt dat uw toepassing gebruikers kan aanmelden met Microsoft Entra, moet Microsoft Entra Externe ID op de hoogte worden gesteld van de toepassing die u maakt. De app-registratie brengt een vertrouwensrelatie tot stand tussen de app en Microsoft Entra. Wanneer u een toepassing registreert, genereert externe id een unieke id die bekend staat als een toepassings-id (client), een waarde die wordt gebruikt om uw app te identificeren bij het maken van verificatieaanvragen.
De volgende stappen laten zien hoe u uw app registreert in het Microsoft Entra-beheercentrum:
Meld u als toepassingsontwikkelaar aan bij het Microsoft Entra-beheercentrum.
Als u toegang hebt tot meerdere tenants, gebruikt u het pictogram
Instellingen in het bovenste menu om vanuit het menu Mappen en abonnementen over te schakelen naar uw externe tenant.
Blader naar identiteitstoepassingen>> App-registraties.
Selecteer + Nieuwe registratie.
Op de pagina Een toepassing registreren die wordt weergegeven;
- Voer een betekenisvolle toepassingsnaam in die wordt weergegeven aan gebruikers van de app, bijvoorbeeld ciam-client-app.
- Onder Ondersteunde accounttypen selecteert u Enkel accounts in deze organisatieadreslijst.
Selecteer Registreren.
Het deelvenster Overzicht van de toepassing wordt weergegeven bij een geslaagde registratie. Noteer de toepassings-id (client) die moet worden gebruikt in de broncode van uw toepassing.
Een omleidings-URL voor het platform toevoegen
Voer de volgende stappen uit om uw app-type op te geven voor uw app-registratie:
- Selecteer Verificatie onder Beheren.
- Selecteer op de pagina Platformconfiguraties de optie Een platform toevoegen en selecteer vervolgens de optie Android.
- Voer de pakketnaam van het project in. Als u de voorbeeldcode hebt gedownload, is
com.azuresamples.msaldelegatedandroidkotlinsampleapp
deze waarde. - Selecteer in de sectie Handtekening-hash van het deelvenster Uw Android-app configureren de optie Een hash voor de ontwikkelingshandtekening genereren. Dit verandert voor elke ontwikkelomgeving. Kopieer en voer de KeyTool-opdracht uit voor uw besturingssysteem in uw Terminal.
- Voer de handtekening-hash in die is gegenereerd door KeyTool.
- Selecteer Configureren.
- Kopieer de MSAL-configuratie vanuit het deelvenster Android-configuratie en sla deze op voor latere app-configuratie.
- Selecteer Gereed.
Openbare clientstroom inschakelen
Volg deze stappen om uw app te identificeren als een openbare client:
Selecteer Verificatie onder Beheren.
Selecteer Ja onder Geavanceerde instellingen voor openbare clientstromen toestaan.
Selecteer Opslaan om uw wijzigingen op te slaan.
Beheerderstoestemming verlenen
Nadat u uw toepassing hebt geregistreerd, krijgt deze de machtiging User.Read toegewezen. Omdat de tenant echter een externe tenant is, kunnen de gebruikers van de klant zelf geen toestemming geven voor deze machtiging. U als beheerder moet toestemming geven voor deze machtiging namens alle gebruikers in de tenant:
Selecteer op de pagina App-registraties de toepassing die u hebt gemaakt (zoals ciam-client-app) om de overzichtspagina te openen.
Selecteer onder Beheren de optie API-machtigingen.
- Selecteer Beheerderstoestemming verlenen voor <uw tenantnaam> en selecteer Vervolgens Ja.
- Selecteer Vernieuwen en controleer vervolgens of Verleend voor <uw tenantnaam> wordt weergegeven onder Status voor de machtiging.
Voorbeeld van mobiele Android-toepassing klonen
Als u de voorbeeldtoepassing wilt verkrijgen, kunt u deze klonen vanuit GitHub of downloaden als een .zip-bestand.
Als u het voorbeeld wilt klonen, opent u een opdrachtprompt en navigeert u naar de locatie waar u het project wilt maken en voert u de volgende opdracht in:
git clone https://github.com/Azure-Samples/ms-identity-ciam-browser-delegated-android-sample
De mobiele Android-voorbeeldtoepassing configureren
Als u verificatie en toegang tot Microsoft Graph-resources wilt inschakelen, configureert u het voorbeeld door de volgende stappen uit te voeren:
Open in Android Studio het project dat u hebt gekloond.
Open /app/src/main/res/raw/auth_config_ciam.json bestand.
Zoek de tijdelijke aanduiding:
Enter_the_Application_Id_Here
en vervang deze door de toepassings-id (client) van de app die u eerder hebt geregistreerd.Enter_the_Redirect_Uri_Here
en vervang deze door de waarde van redirect_uri in het MSAL-configuratiebestand (Microsoft Authentication Library) dat u eerder hebt gedownload toen u de omleidings-URL van het platform toevoegde.Enter_the_Tenant_Subdomain_Here
en vervang het door het subdomein Directory (tenant). Als uw primaire tenantdomein bijvoorbeeld iscontoso.onmicrosoft.com
, gebruikt ucontoso
. Als u uw tenantsubdomein niet weet, leest u de details van uw tenant.
Open het bestand /app/src/main/AndroidManifest.xml .
Zoek de tijdelijke aanduiding:
ENTER_YOUR_SIGNATURE_HASH_HERE
en vervang deze door de handtekening-hash die u eerder hebt gegenereerd toen u de omleidings-URL van het platform toevoegde.
Open /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt-bestand .
Zoek de eigenschap met de naam
scopes
en stel de bereiken in die zijn vastgelegd in Beheerderstoestemming verlenen. Als u geen bereiken hebt vastgelegd, kunt u deze bereiklijst leeg laten.private const val scopes = "" // Developers should set the respective scopes of their Microsoft Graph resources here. For example, private const val scopes = "api://{clientId}/{ToDoList.Read} api://{clientId}/{ToDoList.ReadWrite}"
U hebt de app geconfigureerd en deze kan worden uitgevoerd.
De mobiele Android-voorbeeldtoepassing uitvoeren en testen
Voer de volgende stappen uit om uw app te bouwen en uit te voeren:
Selecteer uw app in het menu Configuraties uitvoeren in de werkbalk.
Selecteer in het menu van het doelapparaat het apparaat waarop u de app wilt uitvoeren.
Als u geen apparaten hebt geconfigureerd, moet u een virtueel Android-apparaat maken om de Android Emulator te gebruiken of een fysiek Android-apparaat te verbinden.
Selecteer de knop Run (Uitvoeren).
Selecteer Token interactief verkrijgen om een toegangstoken aan te vragen.
Als u API selecteert : GET uitvoeren om een beveiligde ASP.NET Core-web-API aan te roepen, krijgt u een foutmelding.
Zie onze volgende stappen voor meer informatie over het aanroepen van een beveiligde web-API