Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              Gäller för:  Externa klienter (läs mer)
 Externa klienter (läs mer)
Innan du börjar, använd väljaren Välj en klienttyp högst upp på den här sidan för att välja klienttyp. Microsoft Entra ID tillhandahåller två klientkonfigurationer, personal och externa. En klientkonfiguration för personal är avsedd för dina anställda, interna appar och andra organisationsresurser. En extern hyresgäst är för dina kundinriktade appar.
Den här guiden visar hur du konfigurerar ett exempel på mobilprogram för att logga in användare och anropar ett ASP.NET Core-webb-API.
I den här artikeln utför du följande uppgifter:
- Lägg till en url för plattformsomdirigering till ett webbprogram.
- Aktivera offentliga klientflöden.
- Uppdatera Exempelfilen för Android-konfigurationskoden för att använda ditt eget externa Microsoft Entra-ID för kundklientinformation.
- Kör och testa android-exempelmobilprogrammet.
- Anropa ett skyddat webb-API.
Förutsättningar
- En extern hyresgäst. Om du inte redan har en, registrera dig för en kostnadsfri provperiod. 
- Registrera en ny klientwebbapp i administrationscentret för Microsoft Entra, konfigurerad för konton i en organisationskatalog och personliga Microsoft-konton. Mer information finns i Registrera ett program . Registrera följande värden från programöversiktssidan för senare användning: - App-ID (klient-ID)
- Katalog-ID (hyresgäst)
 
- En webb-API-registrering som exponerar minst ett omfång (delegerade behörigheter) och en approll (programbehörighet) som ToDoList.Read. Om du inte redan har gjort det, följ anvisningarna för ring ett API i en Android-exempelmobilapp för att ha ett funktionellt skyddat ASP.NET Core-webb-API. Se till att du slutför följande steg: - Konfigurera API-omfång
- Konfigurera app-roller
- Konfigurera valfria anspråk
- Klona eller ladda ned exempelwebb-API
- Konfigurera och köra exempelwebb-API
 
Lägga till en url för plattformsomdirigering
Följ dessa steg om du vill ange din apptyp för din appregistrering:
- Under Hanteraväljer du Autentisering.
- På sidan Platform-konfigurationer väljer du Lägg till en plattformoch väljer sedan alternativet Android.
- Ange projektets paketnamn. Om du laddade ned exempelkodär det här värdet com.azuresamples.msaldelegatedandroidkotlinsampleapp.
- I avsnittet Signature hash i fönstret Konfigurera din Android-app väljer du Generera en utvecklingssignaturhash. Detta ändras för varje utvecklingsmiljö. Kopiera och kör KeyTool-kommandot för operativsystemet i terminalen.
- Ange hashen Signature som genererats av KeyTool.
- Välj Konfigurera.
- Kopiera MSAL-konfigurationen från Android-konfigurationsfönstret och spara den för senare appkonfiguration.
- Välj Klar.
Aktivera offentligt klientflöde
Följ dessa steg för att identifiera din app som en offentlig klient:
- Under Hanteraväljer du Autentisering. 
- Under Avancerade inställningarför Tillåt offentliga klientflödenväljer du Ja. 
- Välj Spara för att spara ändringarna. 
Bevilja webb-API-behörigheter till exempelappen
När du har registrerat både klientappen, webb-API:et och du har exponerat API:et genom att skapa omfång, kan du konfigurera klientens behörigheter till API:et genom att följa dessa steg:
- På sidan Appregistreringar väljer du det program som du skapade (till exempel ciam-client-app) för att öppna sidan Översikt. 
- Under Hanteraväljer du API-behörigheter. 
- Under Konfigurerade behörigheterväljer du Lägg till en behörighet. 
- Välj API:er som min organisation använder fliken. 
- I listan över API:er väljer du API:et, till exempel ciam-ToDoList-api. 
- Välj alternativet Delegerade behörigheter. 
- I behörighetslistan väljer du ToDoList.Read, ToDoList.ReadWrite (använd sökrutan om det behövs). 
- Välj knappen Lägg till behörigheter. 
- Nu har du tilldelat behörigheterna korrekt. Men eftersom hyresgästen är en kunds hyresgäst kan konsumentanvändarna inte samtycka till dessa behörigheter. För att åtgärda detta måste du som administratör samtycka till dessa behörigheter för alla användare i klientorganisationen: - Välj Bevilja administratörsmedgivande för <ditt klientnamn>och välj sedan Ja. 
- Välj Uppdateraoch kontrollera sedan att Beviljas för <ditt klientnamn> visas under Status för båda behörigheterna. 
 
- I listan Konfigurerade behörigheter väljer du behörigheterna ToDoList.Read och ToDoList.ReadWrite, en i taget, och kopierar sedan behörighetens fullständiga URI för senare användning. Den fullständiga behörighets-URI:n ser ut ungefär som - api://{clientId}/{ToDoList.Read}eller- api://{clientId}/{ToDoList.ReadWrite}.
Klona mobilprogramexempel
Om du vill hämta exempelprogrammet kan du antingen klona det från GitHub eller ladda ned det som en .zip fil.
- Om du vill klona exemplet öppnar du en kommandotolk och navigerar till den platsen där du vill skapa projektet och anger följande kommando: - git clone https://github.com/Azure-Samples/ms-identity-ciam-browser-delegated-android-sample
Konfigurera android-exempelprogrammet
Om du vill aktivera autentisering och åtkomst till webb-API-resurser konfigurerar du exemplet genom att följa dessa steg:
- Öppna det projekt som du klonade i Android Studio. 
- Öppna /app/src/main/res/raw/auth_config_ciam.json fil. 
- Hitta platshållaren: - 
              Enter_the_Application_Id_Hereoch ersätt det med program-ID (klient)-ID:t för appen som du registrerade tidigare.
- 
              Enter_the_Redirect_Uri_Hereoch ersätt det med värdet för redirect_uri i konfigurationsfilen för Microsoft Authentication Library (MSAL) som du laddade ned tidigare när du lade till url:en för omdirigering av plattformen.
- 
              Enter_the_Tenant_Subdomain_Hereoch ersätt med underdomänen Katalog (tenant). Om din primära klientdomän till exempel ärcontoso.onmicrosoft.comanvänder ducontoso. Om du inte känner till klientunderdomänen kan du lära dig hur du läsa klientinformationen.
 
- 
              
- Öppna filen /app/src/main/AndroidManifest.xml. 
- Hitta platshållaren: - 
              ENTER_YOUR_SIGNATURE_HASH_HEREoch ersätt den med den signatur-hash- som du genererade tidigare när du lade till omdirigerings-URL:en för plattformen.
 
- 
              
- Öppna filen /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt. 
- Hitta egenskapen med namnet - WEB_API_BASE_URLoch ange URL:en till webb-API:et.
- Hitta egenskapen med namnet - scopesoch ange omfången som registrerats i Bevilja webb-API-behörigheter till Android-exempelappen.- 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}"
Du har konfigurerat appen och den är redo att köras.
Köra exempelappen och anropa webb-API
Följ dessa steg för att skapa och köra din app:
- I verktygsfältet väljer du din app på menyn Kör konfigurationer. 
- I målenhetsmenyn väljer du den enhet som du vill köra appen på. - Om du inte har konfigurerat några enheter måste du antingen skapa en virtuell Android-enhet för att använda Android-emulatorn eller ansluta en fysisk Android-enhet. 
- Välj knappen Kör. 
- Välj Hämta token interaktivt för att begära en åtkomsttoken. 
- Välj API – Utför GET för att anropa det tidigare konfigurerade webb-API:et för ASP.NET Core. Ett lyckat anrop till webb-API:et returnerar HTTP 200, medan HTTP 403 innebär obehörig åtkomst.