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: Werknemerstenants
Externe tenants (meer informatie)
In deze quickstart gebruikt u een voorbeeldweb-app om u te laten zien hoe u een ASP.NET web-API beveiligt met behulp van het Microsoft Identity Platform. Het voorbeeld maakt gebruik van de Microsoft Authentication Library (MSAL) om verificatie en autorisatie af te handelen.
Vereiste voorwaarden
- Een Azure-account met een actief abonnement. Maak gratis een account.
- Registreer een nieuwe app in het Microsoft Entra-beheercentrum en noteer de id's van de app-overzichtspagina . Zie Een toepassing registreren voor meer informatie.
- Naam: NewWebAPI1
- Ondersteunde accounttypen: alleen accounts in deze organisatiemap (één tenant)
- Visual Studio 2022. Download Visual Studio gratis.
De API beschikbaar maken
Zodra de API is geregistreerd, kunt u de machtiging ervan configureren door de bereiken te definiëren die de API beschikbaar maakt voor clienttoepassingen. Clienttoepassingen vragen toestemming om bewerkingen uit te voeren door een toegangstoken samen met de aanvragen door te geven aan de beveiligde web-API. De web-API voert de aangevraagde bewerking alleen uit als het toegangstoken dat het ontvangt de vereiste machtigingen bevat.
Selecteer onder Beherende optie Een API>beschikbaar maken en een bereik toevoegen. Accepteer de voorgestelde URI voor de toepassings-id (
api://{clientId}
) door Opslaan en doorgaan te selecteren en voer vervolgens de volgende gegevens in:- Voer bij Naam van het bereik
access_as_user
in. - Voor wie toestemming kan geven, moet u ervoor zorgen dat de optie Beheerders en gebruikers is geselecteerd.
- Voer in het vak Weergavenaam van beheerderstoestemming de naam in
Access TodoListService as a user
. - Voer in het vak Beschrijving van beheerderstoestemming het volgende in
Accesses the TodoListService web API as a user
. - Voer in het vak Weergavenaam van gebruikerstoestemming in
Access TodoListService as a user
. - Voer in het vak Beschrijving van gebruikerstoestemming de tekst in
Accesses the TodoListService web API as a user
. - Houd ingeschakeld voor status.
- Voer bij Naam van het bereik
Klik op Bereik toevoegen.
De voorbeeldtoepassing klonen of downloaden
Als u de voorbeeldtoepassing wilt verkrijgen, kunt u deze klonen vanuit GitHub of downloaden als een.zip-bestand .
git clone https://github.com/AzureADQuickStarts/AppModelv2-NativeClient-DotNet.git
Hint
Om fouten te voorkomen die worden veroorzaakt door padlengtebeperkingen in Windows, raden we u aan het archief te extraheren of de opslagplaats te klonen in een map dicht bij de wortel van uw schijf.
De voorbeeldtoepassing configureren
Configureer het codevoorbeeld zodat het overeenkomt met de geregistreerde web-API.
Open de oplossing in Visual Studio en open het appsettings.json bestand onder de hoofdmap van het TodoListService-project.
Vervang de waarde van de
Enter_the_Application_Id_here
door de Client-id (toepassings-id) van de toepassing die u hebt geregistreerd in de portal app-registraties, zowel in deClientID
als deAudience
eigenschappen.
Voeg het nieuwe bereik toe aan het app.config-bestand
Voer de volgende stappen uit om het nieuwe bereik toe te voegen aan het bestand TodoListClient app.config :
Open het app.configbestand in de hoofdmap van het TodoListClient-project.
Plak de toepassings-id uit de toepassing die u hebt geregistreerd voor uw TodoListService-project in de parameter
TodoListServiceScope
, waarbij u de{Enter the Application ID of your TodoListService from the app registration portal}
tekenreeks vervangt.
Opmerking
Zorg ervoor dat de toepassings-id de volgende indeling gebruikt: api://{TodoListService-Application-ID}/access_as_user
(waarbij {TodoListService-Application-ID}
de GUID is die de toepassings-id voor uw TodoListService-app vertegenwoordigt).
De webapplicatie registreren (TodoListClient)
Registreer uw TodoListClient-app in app-registraties in het Microsoft Entra-beheercentrum en configureer vervolgens de code in het TodoListClient-project. Als de client en server als dezelfde toepassing worden beschouwd, kunt u de toepassing die is geregistreerd in stap 2 opnieuw gebruiken. Gebruik dezelfde toepassing als u wilt dat gebruikers zich aanmelden met een persoonlijk Microsoft-account.
De app registreren
Volg deze stappen om de TodoListClient-app te registreren:
Meld u aan bij het Microsoft Entra-beheercentrum als ten minste een cloudtoepassingsbeheerder.
Blader naar Entra> en selecteer Nieuwe registratie.
Selecteer Nieuwe registratie.
Wanneer de pagina Een toepassing registreren wordt geopend, voert u de registratiegegevens van uw toepassing in:
- Voer in de sectie Naam een beschrijvende toepassingsnaam in die wordt weergegeven aan gebruikers van de app (bijvoorbeeld NativeClient-DotNet-TodoListClient).
- Voor ondersteunde accounttypen selecteert u Accounts in een organisatiemap.
- Selecteer Registreren om de toepassing te maken.
Opmerking
In het todoListClient-project app.config bestand is de standaardwaarde
ida:Tenant
ingesteld opcommon
. De mogelijke waarden zijn:-
common
: U kunt zich aanmelden met een werk- of schoolaccount of een persoonlijk Microsoft-account (omdat u accounts in een organisatiemap in een vorige stap hebt geselecteerd). -
organizations
: U kunt zich aanmelden met een werk- of schoolaccount. -
consumers
: u kunt zich alleen aanmelden met een persoonlijk Microsoft-account.
Selecteer verificatie op de pagina Overzicht van de app en voer vervolgens de volgende stappen uit om een platform toe te voegen:
- Selecteer onder Platformconfiguraties de knop Een platform toevoegen .
- Voor mobiele toepassingen en desktoptoepassingen selecteert u Mobile- en desktoptoepassingen.
- Schakel het selectievakje in voor
https://login.microsoftonline.com/common/oauth2/nativeclient
. - Selecteer Configureren.
Selecteer API-machtigingen en voer vervolgens de volgende stappen uit om machtigingen toe te voegen:
- Selecteer de knop Een machtiging toevoegen .
- Selecteer het tabblad Mijn API's .
- Selecteer AppModelv2-NativeClient-DotNet-TodoListService API of de naam die u hebt ingevoerd voor de web-API in de lijst met API's.
- Schakel het selectievakje access_as_user machtiging in als dit nog niet is ingeschakeld. Gebruik indien nodig het zoekvak.
- Selecteer de knop Machtigingen toevoegen .
Uw project configureren
Configureer uw TodoListClient-project door de toepassings-id toe te voegen aan het app.config-bestand .
Kopieer in de portal app-registraties op de pagina Overzicht de waarde van de toepassings-id (client).
Open in de hoofdmap van het TodoListClient-project het app.config-bestand en plak de waarde van de toepassings-id in de
ida:ClientId
parameter.
De voorbeeldtoepassing uitvoeren
Start beide projecten. Voor Visual Studio-gebruikers;
Klik met de rechtermuisknop op de Visual Studio-oplossing en selecteer Eigenschappen
Selecteer in de algemene eigenschappenhet opstartproject en vervolgens meerdere opstartprojecten.
Voor beide projecten kiest u Starten als de actie
Zorg ervoor dat de TodoListService-service eerst wordt gestart door deze met de pijl-omhoog naar de eerste positie in de lijst te verplaatsen.
Meld u aan om uw TodoListClient-project uit te voeren.
Druk op F5 om de projecten te starten. De servicepagina wordt geopend, evenals de bureaubladtoepassing.
Selecteer in de TodoListClient rechtsboven aanmelden en meld u aan met dezelfde referenties die u hebt gebruikt om uw toepassing te registreren of meld u aan als een gebruiker in dezelfde map.
Als u zich voor de eerste keer aanmeldt, wordt u mogelijk gevraagd om toestemming te geven voor de Web-API todoListService.
Om u te helpen toegang te krijgen tot de TodoListService web-API en de takenlijst te manipuleren, vraagt de aanmeldprocedure ook een toegangstoken aan voor het access_as_user bereik.
Uw clienttoepassing vooraf autoriseren
U kunt gebruikers uit andere mappen toegang geven tot uw web-API door de clienttoepassing vooraf te autoriseren voor toegang tot uw web-API. U doet dit door de toepassings-id van de client-app toe te voegen aan de lijst met vooraf geverifieerde toepassingen voor uw web-API. Door een vooraf geverifieerde client toe te voegen, kunt u gebruikers toegang geven tot uw web-API zonder toestemming te hoeven geven.
- Open in de portal app-registraties de eigenschappen van uw TodoListService-app.
- Selecteer in de sectie Een API beschikbaarmaken onder Geautoriseerde clienttoepassingende optie Een clienttoepassing toevoegen.
- Plak in het vak Client-id de toepassings-id van de TodoListClient-app.
- Selecteer in de sectie Geautoriseerde bereiken het bereik voor de
api://<Application ID>/access_as_user
web-API. - Selecteer Toepassing toevoegen.
Uw project uitvoeren
- Druk op F5 om uw project uit te voeren. Uw TodoListClient-app wordt geopend.
- Selecteer in de rechterbovenhoek Aanmelden en meld u vervolgens aan met een persoonlijk Microsoft-account, zoals een live.com - of hotmail.com-account of een werk- of schoolaccount.
Optioneel: Aanmeldingstoegang beperken tot bepaalde gebruikers
Standaard kunnen persoonlijke accounts, zoals outlook.com - of live.com-accounts , of werk- of schoolaccounts van organisaties die zijn geïntegreerd met Microsoft Entra-id tokens aanvragen en toegang krijgen tot uw web-API.
Als u wilt opgeven wie zich kan aanmelden bij uw toepassing, wijzigt u de TenantId
eigenschap in het bestandappsettings.json .
Volgende stappen
Meer informatie over het beveiligen van een ASP.NET Core-web-API met het Microsoft Identity Platform.