Delen via


Quickstart: Gebruikers aanmelden in een voorbeeld van een mobiele app

Van toepassing op: groene cirkel met een wit vinkje. Werknemershuurders groene cirkel met een wit vinkje. 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.

  1. Selecteer onder Beheren achtereenvolgens Verificatie>Een platform toevoegen>Android.

  2. 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
  3. 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.

  4. Voer de handtekening-hash in die is gegenereerd door KeyTool.

  5. 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.

  6. Kies Gereed.

De voorbeeld-app downloaden

De voorbeeldtoepassing configureren

  1. Navigeer in het projectvenster van Android Studio naar app\src\main\res.

  2. Klik met de rechtermuisknop op en kies Nieuwe>Directory-. Voer raw in als de nieuwe mapnaam en selecteer OK-.

  3. 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"
          }
        }
      ]
    }
    
  4. Openen /app/src/main/AndroidManifest.xml bestand.

  5. 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.

Schermopname van de MSAL-voorbeeld-app met het gebruik van één en meerdere accounts.

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:

  1. 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.
  2. 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

diagram waarin wordt getoond hoe de voorbeeld-app die door deze quickstart is gegenereerd, 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:
  • 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:

  1. Onder Beheren, selecteer Verificatie.
  2. Selecteer op de pagina Platformconfiguraties de optie Een platform toevoegen en selecteer vervolgens de optie Android.
  3. Voer de pakketnaam van het project in. Als u de voorbeeldcode hebt gedownload, is com.azuresamples.msaldelegatedandroidkotlinsampleappdeze waarde.
  4. 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.
  5. Voer de handtekening-hash in die is gegenereerd door KeyTool.
  6. Selecteer Configureren.
  7. Kopieer de MSAL-configuratie vanuit het deelvenster Android-configuratie en sla deze op voor latere app-configuratie.
  8. Kies Gereed.

Openbare clientstroom inschakelen

Volg deze stappen om uw app te identificeren als een openbare client:

  1. Onder Beheren, selecteer Verificatie.

  2. Selecteer Ja onder Geavanceerde instellingen voor openbare clientstromen toestaan.

  3. 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:

  1. Open in Android Studio het project dat u hebt gekloond.

  2. Open het /app/src/main/res/raw/auth_config_ciam.json bestand.

  3. 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 is contoso.onmicrosoft.com, gebruikt u contoso. Als u uw tenant-subdomein niet weet, leer dan hoe u uw tenantgegevens kunt lezen.
  4. Openen /app/src/main/AndroidManifest.xml bestand.

  5. 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.
  6. Openen /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt-bestand.

  7. 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:

  1. Selecteer uw app in het menu Configuraties uitvoeren in de werkbalk.

  2. 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.

  3. Druk op de knop Uitvoeren.

  4. Selecteer Token interactief verkrijgen om een toegangstoken aan te vragen.

  5. 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

Volgende stappen