Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: Werknemershuurders
Externe huurders (lees meer)
Voordat u begint, gebruikt u de Kies een tenanttype selector bovenaan deze pagina om het tenanttype te selecteren. Microsoft Entra ID biedt twee tenantconfiguraties, werknemers en externe. Een tenantconfiguratie voor werknemers is bedoeld voor uw werknemers, interne apps en andere organisatieresources. Een externe tenant is bedoeld voor uw klantgerichte apps.
In deze quickstart downloadt u een codevoorbeeld en voert u dit uit. Het codevoorbeeld laat zien hoe gebruikers kunnen worden aangemeld met een Android-toepassing, en een toegangstoken kunnen krijgen om de Microsoft Graph API aan te roepen.
Toepassingen moeten worden vertegenwoordigd door een app-object in Microsoft Entra ID, zodat het Microsoft Identity Platform tokens voor uw toepassing kan leveren.
Vereiste voorwaarden
- Een Azure-account met een actief abonnement. Als u nog geen account hebt, maak gratis een account aan.
- Dit Azure-account moet machtigingen hebben voor het beheren van toepassingen. Een van de volgende Microsoft Entra-rollen omvat de vereiste machtigingen:
- Toepassingsbeheerder
- Toepassingsontwikkelaar
- Een personeelstenant. U kunt uw standaarddirectory gebruiken of een nieuwe tenant aanmaken.
- Registreer een nieuwe app in het Microsoft Entra-beheercentrum, geconfigureerd voor accounts in elke organisatiedirectory en persoonlijke Microsoft-accounts. Raadpleeg Een applicatie registreren voor meer details. Noteer de volgende waarden van de Overview pagina van de applicatie voor later gebruik.
- Applicatie (client) ID
- ID van de directory (tenant)
- Android Studio
- Android 16+
Een omleidings-URI toevoegen
U moet specifieke omleidings-URI's configureren in uw app-registratie om compatibiliteit met het gedownloade codevoorbeeld te garanderen. Deze URI's zijn essentieel voor het terugleiden van gebruikers naar de app nadat ze zich hebben aangemeld.
Selecteer onder Beheren achtereenvolgens Verificatie>Een platform toevoegen>Android.
Voer de pakketnaam van uw project in op basis van het voorbeeldtype dat u hierboven hebt gedownload.
- Java-voorbeeld -
com.azuresamples.msalandroidapp
- Kotlin-voorbeeld -
com.azuresamples.msalandroidkotlinapp
- Java-voorbeeld -
Selecteer in de Handtekeninghash-sectie van het Instellingen voor uw Android-app configureren paneel Een handtekeninghash voor ontwikkeling genereren en kopieer de KeyTool-opdracht naar de opdrachtregel.
- KeyTool.exe is geïnstalleerd als onderdeel van de JDK (Java Development Kit). U moet ook het OpenSSL-hulpprogramma installeren om de KeyTool-opdracht uit te voeren. Zie de Android-documentatie over het genereren van een sleutel voor meer informatie.
Voer de handtekening-hash in die is gegenereerd door KeyTool.
Selecteer Configureren en sla de MSAL-configuratie op die wordt weergegeven in het configuratievenster van Android , zodat u deze kunt invoeren wanneer u de app later configureert.
Kies Gereed.
De voorbeeld-app downloaden
- Java: Download de code.
- Kotlin: Download de code.
De voorbeeldtoepassing configureren
Navigeer in het projectvenster van Android Studio naar app\src\main\res.
Klik met de rechtermuisknop op en kies Nieuwe>Directory-. Voer
raw
in als de nieuwe mapnaam en selecteer OK-.In app>src>main>res>raw, ga naar het JSON-bestand genaamd
auth_config_single_account.json
en plak de MSAL-configuratie die u eerder hebt opgeslagen.Plak onder de omleidings-URI:
"account_mode" : "SINGLE",
Uw configuratiebestand moet er ongeveer uitzien als in dit voorbeeld:
{ "client_id": "00001111-aaaa-bbbb-3333-cccc4444", "authorization_user_agent": "WEBVIEW", "redirect_uri": "msauth://com.azuresamples.msalandroidapp/00001111%cccc4444%3D", "broker_redirect_uri_registered": false, "account_mode": "SINGLE", "authorities": [ { "type": "AAD", "audience": { "type": "AzureADandPersonalMicrosoftAccount", "tenant_id": "common" } } ] }
Openen /app/src/main/AndroidManifest.xml bestand.
Zoek de plaatsaanduiding:
-
enter_the_signature_hash
en vervang deze door de handtekening-hash die u eerder hebt gegenereerd toen u de omleidings-URL van het platform toevoegde.
Aangezien deze uitleg alleen laat zien hoe u een app configureert in de modus voor één account, zie voor meer informatie over de modus voor één account versus meerdere accounts en het configureren van uw app.
-
De voorbeeld-app uitvoeren
Selecteer de emulator of het fysieke apparaat in de vervolgkeuzelijst Beschikbare apparaten in Android Studio en voer de app uit.
De voorbeeld-app wordt gestart op het scherm Modus voor één account. Er wordt standaard een standaardbereik user.read verstrekt. Dit wordt gebruikt tijdens het lezen van uw eigen profielgegevens tijdens de aanroep van de Microsoft Graph API. De URL voor de aanroep van de Microsoft Graph API wordt standaard verstrekt. U kunt ze allebei desgewenst wijzigen.
Gebruik het app-menu om tussen modi met één of meerdere accounts te schakelen.
Meld u in de modus voor één account aan met een werk- of thuisaccount:
- Selecteer Graafgegevens interactief ophalen om de gebruiker om referenties te vragen. U ziet de uitvoer van de aanroep naar de Microsoft Graph API onder in het scherm.
- Nadat u bent aangemeld, selecteert u Graafgegevens op de achtergrond ophalen om een aanroep naar de Microsoft Graph API uit te voeren zonder dat de gebruiker opnieuw om referenties wordt gevraagd. U ziet de uitvoer van de aanroep naar de Microsoft Graph API onder in het scherm.
In de modus voor meerdere accounts kunt u dezelfde stappen herhalen. Daarnaast kunt u het aangemelde account verwijderen, waardoor ook de tokens in de cache voor dat account worden verwijderd.
Hoe het voorbeeld werkt
De code is ingedeeld in fragmenten. Deze laten zien hoe u een MSAL-app voor één en meerdere accounts schrijft. De codebestanden zijn als volgt ingedeeld:
Bestand | Demonstreert |
---|---|
Hoofdactiviteit | Beheert de gebruikersinterface |
MSGraphRequestWrapper | Roept de Microsoft Graph API aan met behulp van het token dat door MSAL is verschaft |
Fragment voor Meerdere Accounts | Initialiseert een toepassing met meerdere accounts, laadt een gebruikersaccount en haalt een token op om de Microsoft Graph API aan te roepen |
SingleAccountModeFragment | Initialiseert een toepassing met één account, laadt een gebruikersaccount en haalt een token op om de Microsoft Graph API aan te roepen |
res/auth_config_multiple_account.json | Het configuratiebestand voor meerdere accounts |
res/auth_config_single_account.json | Het configuratiebestand voor één account |
Gradle Scripts/build.grade (Module:app) | De afhankelijkheden van de MSAL-bibliotheek worden hier toegevoegd |
We zullen deze bestanden nu in meer detail bekijken en de MSAL-specifieke code in elk ervan benoemen.
Volgende stappen
Ga naar de Android-zelfstudie waarin u een Android-app bouwt die een toegangstoken van het Microsoft-identiteitsplatform ontvangt en dit gebruikt om de Microsoft Graph API aan te roepen.
In de quickstart wordt u begeleid bij het configureren van voorbeeld-Android-, .NET MAUI Android- en iOS-/macOS-apps om gebruikers aan te melden door toepassingen te registreren, omleidings-URL's in te stellen, configuraties bij te werken en de app te testen.
Vereiste voorwaarden
- Een Azure-account met een actief abonnement. Als u nog geen account hebt, maak gratis een account aan.
- Dit Azure-account moet machtigingen hebben voor het beheren van toepassingen. Een van de volgende Microsoft Entra-rollen omvat de vereiste machtigingen:
- Toepassingsbeheerder
- Toepassingsontwikkelaar
- Een externe tenant. Kies een van de volgende methoden om er een te maken:
- Gebruik de externe id-extensie van Microsoft Entra om rechtstreeks in Visual Studio Code een externe tenant in te stellen. (aanbevolen)
- Maak een nieuwe externe tenant in het Microsoft Entra-beheercentrum.
- Registreer een nieuwe app in het Microsoft Entra-beheercentrum, alleen geconfigureerd voor accounts in deze organisatiemap. Raadpleeg Een applicatie registreren voor meer details. Noteer de volgende waarden van de Overview pagina van de applicatie voor later gebruik.
- Applicatie (client) ID
- ID van de directory (tenant)
Een omleidings-URL voor het platform toevoegen
U moet specifieke omleidings-URI's configureren in uw app-registratie om compatibiliteit met het gedownloade codevoorbeeld te garanderen. Deze URI's zijn essentieel voor het terugleiden van gebruikers naar de app nadat ze zich hebben aangemeld.
Voer de volgende stappen uit om uw app-type op te geven voor uw app-registratie:
- Onder Beheren, selecteer Verificatie.
- 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.
- Kies Gereed.
Openbare clientstroom inschakelen
Volg deze stappen om uw app te identificeren als een openbare client:
Onder Beheren, selecteer Verificatie.
Selecteer Ja onder Geavanceerde instellingen voor openbare clientstromen toestaan.
Selecteer Opslaan om uw wijzigingen op te slaan.
Voorbeeldapplicatie 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 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 het /app/src/main/res/raw/auth_config_ciam.json bestand.
Zoek de plaatsaanduiding:
-
Enter_the_Application_Id_Here
en vervang deze door de Application-id (client)-id 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 dit door het subdomein Directory (tenant). Als uw primaire tenantdomein bijvoorbeeld iscontoso.onmicrosoft.com
, gebruikt ucontoso
. Als u uw tenant-subdomein niet weet, leer dan hoe u uw tenantgegevens kunt lezen.
-
Openen /app/src/main/AndroidManifest.xml bestand.
Zoek de plaatsaanduiding:
-
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.
-
Openen /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 doelen hebt vastgelegd, kunt u deze doelenlijst 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 voorbeeld-app 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.
Druk op de knop 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