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:
Externe tenants (meer informatie)
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.
Deze handleiding laat zien hoe u een voorbeeld van een mobiele toepassing configureert om gebruikers aan te melden en een ASP.NET Core-web-API aan te roepen.
In dit artikel voert u de volgende taken uit:
- Voeg een omleidings-URL voor een platform toe aan een webtoepassing.
- Schakel openbare clientstromen in.
- Werk het voorbeeldbestand van de Android-configuratiecode bij om uw eigen externe Microsoft Entra-id te gebruiken voor tenantgegevens van de klant.
- Voer de mobiele Android-voorbeeldtoepassing uit en test deze.
- Een beveiligde web-API aanroepen.
Vereiste voorwaarden
Een externe tenant. Als u nog geen abonnement hebt, meldt u zich aan voor een gratis proefversie.
Registreer een nieuwe clientweb-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 op de pagina Overzicht van de toepassing voor later gebruik:
- Applicatie (client) ID
- ID van de directory (tenant)
Een web-API-registratie die ten minste één bereik (gedelegeerde machtigingen) en één app-rol (toepassingsmachtiging) beschikbaar maakt, zoals ToDoList.Read. Als u dat nog niet hebt gedaan, volgt u de instructies voor een API aanroepen in een mobiele Android-voorbeeld-app om een functionele beveiligde ASP.NET Core-web-API te hebben. Zorg ervoor dat u de volgende stappen uitvoert:
- API-bereiken configureren
- App-rollen configureren
- Optionele claims instellen
- Voorbeeldweb-API klonen of downloaden
- Voorbeeldweb-API configureren en uitvoeren
Een omleidings-URL voor het platform toevoegen
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.msaldelegatedandroidkotlinsampleappdeze 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.
Web-API-machtigingen verlenen aan de voorbeeld-app
Nadat u zowel uw client-app als web-API hebt geregistreerd en de API hebt blootgesteld door scopes te maken, kunt u de machtigingen van de client voor de API configureren door de volgende stappen uit te voeren:
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 onder Geconfigureerde machtigingen de optie Een machtiging toevoegen.
Selecteer de API's die door mijn organisatie worden gebruikt .
Selecteer in de lijst met API's de API, zoals ciam-ToDoList-api.
Selecteer de optie Gedelegeerde machtigingen .
Selecteer in de lijst met machtigingen ToDoList.Read, ToDoList.ReadWrite (gebruik indien nodig het zoekvak).
Selecteer de knop Toestemmingen toevoegen.
Op dit moment hebt u de machtigingen correct toegewezen. Omdat de tenant echter de tenant van een klant is, kunnen de consumentengebruikers zelf geen toestemming geven voor deze machtigingen. Om dit te verhelpen, moet u als beheerder toestemming geven voor deze machtigingen namens alle gebruikers in de tenant:
Selecteer Verleen beheerderstoestemming voor <uw tenantnaam>, selecteer vervolgens Ja.
Selecteer Vernieuwen en controleer vervolgens of Verleend voor <uw tenantnaam> wordt weergegeven onder Status voor beide machtigingen.
Selecteer in de lijst Geconfigureerde machtigingen de machtigingen ToDoList.Read en ToDoList.ReadWrite , één voor één en kopieer de volledige URI van de machtiging voor later gebruik. De volledige machtigings-URI ziet er ongeveer uit als
api://{clientId}/{ToDoList.Read}ofapi://{clientId}/{ToDoList.ReadWrite}.
Mobiele 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 mobiele Android-voorbeeldtoepassing configureren
Als u verificatie en toegang tot web-API-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.
Vind de invultekst:
-
Enter_the_Application_Id_Hereen vervang deze door de Application-id (client)-id van de app die u eerder hebt geregistreerd. -
Enter_the_Redirect_Uri_Hereen 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_Hereen 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.
Vind de invultekst:
-
ENTER_YOUR_SIGNATURE_HASH_HEREen 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
WEB_API_BASE_URLen stel de URL in op uw web-API.Zoek de eigenschap met de naam
scopesen stel de bereiken in die zijn vastgelegd in Machtigingen voor web-API verlenen aan de Android-voorbeeld-app.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}"
U hebt de app geconfigureerd en deze kan worden uitgevoerd.
Voorbeeld-app uitvoeren en web-API aanroepen
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.
Selecteer API: VOER GET uit om de eerder ingestelde ASP.NET Core-web-API aan te roepen. Een geslaagde aanroep van de web-API retourneert HTTP 200, terwijl HTTP 403 onbevoegde toegang aantekent.