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)
I den här snabbstarten använder du en exempelwebbapp för att visa hur du skyddar ett ASP.NET webb-API med hjälp av Microsofts identitetsplattform. Exemplet använder Microsoft Authentication Library (MSAL) för att hantera autentisering och auktorisering.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- Registrera en ny app i administrationscentret för Microsoft Entra och registrera dess identifierare från appens översiktssida . Mer information finns i Registrera ett program.
- Namn: NewWebAPI1
- kontotyper som stöds: endast konton i den här organisationskatalogen (enskild klientorganisation)
 
- Visual Studio 2022. Ladda ned Visual Studio kostnadsfritt.
Exponera API:et
När API:et har registrerats kan du konfigurera dess behörighet genom att definiera de omfång som API:et exponerar för klientprogram. Klientprogram begär behörighet att utföra åtgärder genom att skicka en åtkomsttoken tillsammans med dess begäranden till det skyddade webb-API:et. Webb-API:et utför sedan endast den begärda åtgärden om den åtkomsttoken som den tar emot innehåller de nödvändiga omfången.
- Under Hanteraväljer du Exponera ett API>Lägg till ett omfång. Godkänn den föreslagna program-ID-URI:n ( - api://{clientId}) genom att välja Spara och fortsättaoch ange sedan följande information:- Som Omfångsnamn anger du access_as_user.
- För Vem kan samtycka kontrollerar du att alternativet Administratörer och användare är valt.
- I rutan visningsnamn för administratörsmedgivande anger du Access TodoListService as a user.
- I rutan Beskrivning av administratörsmedgivande anger du Accesses the TodoListService web API as a user.
- I rutan Visningsnamn för användarmedgivande anger du Access TodoListService as a user.
- I rutan Beskrivning av användarmedgivande anger du Accesses the TodoListService web API as a user.
- Behåll Aktiveradför Tillstånd.
 
- Som Omfångsnamn anger du 
- Välj Lägg till definitionsområde. 
Klona eller ladda ned exempelprogrammet
Om du vill hämta exempelprogrammet kan du antingen klona det från GitHub eller ladda ned det som en .zip fil.
git clone https://github.com/AzureADQuickStarts/AppModelv2-NativeClient-DotNet.git
Tips/Råd
För att undvika fel som orsakas av sökvägslängdsbegränsningar i Windows rekommenderar vi att du extraherar arkivet eller klonar lagringsplatsen till en katalog nära roten på enheten.
Konfigurera exempelprogrammet
Konfigurera kodexemplet så att det matchar det registrerade webb-API:et.
- Öppna lösningen i Visual Studio och öppna sedan filen appsettings.json under roten i TodoListService-projektet. 
- Ersätt värdet på - Enter_the_Application_Id_heremed värdet för klient-ID (program-ID) från det program som du registrerade i appenregistreringarnas portal både i- ClientIDoch- Audienceegenskaper.
Lägg till det nya omfånget i filen app.config
Följ dessa steg om du vill lägga till det nya omfånget i filen TodoListClient app.config:
- I rotmappen för TodoListClient-projektet öppnar du filen app.config. 
- Klistra in program-ID:t från det program som du registrerade för ditt TodoListService-projekt i parametern - TodoListServiceScopeoch ersätt- {Enter the Application ID of your TodoListService from the app registration portal}strängen.
Anmärkning
Kontrollera att program-ID:t använder följande format: api://{TodoListService-Application-ID}/access_as_user (där {TodoListService-Application-ID} är DET GUID som representerar program-ID:t för din TodoListService-app).
Registrera webbappen (TodoListClient)
Registrera din TodoListClient-app i Appregistreringar i administrationscentret för Microsoft Entra och konfigurera sedan koden i Projektet TodoListClient. Om klienten och servern anses vara samma program kan du återanvända programmet som registrerats i steg 2. Använd samma program om du vill att användarna ska logga in med ett personligt Microsoft-konto.
Registrera appen
Följ dessa steg för att registrera TodoListClient-appen:
- Logga in på administrationscentret för Microsoft Entra som minst en molnprogramadministratör. 
- Bläddra till Entra ID>Appregistreringar och välj Ny registrering. 
- Välj Ny registrering. 
- När Registrera en programsida öppnas anger du programmets registreringsinformation: - I avsnittet Namn anger du ett beskrivande programnamn som ska visas för appens användare (till exempel NativeClient-DotNet-TodoListClient).
- För kontotyper som stödsväljer du Konton i en organisationskatalog.
- Välj Registrera för att skapa programmet.
 - Anmärkning - I filen TodoListClient-projektet app.config anges standardvärdet för - ida:Tenanttill- common. Möjliga värden är:- 
              common: Du kan logga in med ett arbets- eller skolkonto eller ett personligt Microsoft-konto (eftersom du valde Konton i en organisationskatalog i ett tidigare steg).
- 
              organizations: Du kan logga in med hjälp av ett arbets- eller skolkonto.
- 
              consumers: Du kan bara logga in med ett personligt Microsoft-konto.
 
- På sidan Översikt väljer du Authenticationoch slutför sedan de här stegen för att lägga till en plattform: - Under Platform-konfigurationerväljer du knappen Lägg till en plattform.
- För Mobil- och skrivbordsprogramväljer du Mobil- och skrivbordsprogram.
- För omdirigerings-URI:er , välj kryssrutan https://login.microsoftonline.com/common/oauth2/nativeclient.
- Välj Konfigurera.
 
- Välj API-behörigheteroch slutför sedan de här stegen för att lägga till behörigheter: - Välj knappen Lägg till en behörighet.
- Välj fliken Mina API:er.
- I listan över API:er väljer du AppModelv2-NativeClient-DotNet-TodoListService API- eller det namn som du angav för webb-API:et.
- Markera kryssrutan för behörigheten access_as_user om den inte redan är markerad. Använd sökrutan om det behövs.
- Välj knappen Lägg till behörigheter.
 
Konfigurera projektet
Konfigurera ditt TodoListClient-projekt genom att lägga till program-ID:t i filen app.config.
- På portalen App-registreringar, på sidan Översikt, kopiera värdet för Applikation (klient)-ID:t. 
- Från rotmappen TodoListClient-projektet öppnar du filen app.config och klistrar sedan in program-ID-värdet i parametern - ida:ClientId.
Kör exempelprogrammet
Starta båda projekten. För Visual Studio-användare;
- Högerklicka på Visual Studio-lösningen och välj Egenskaper 
- I Vanliga egenskaper väljer du Startprojekt och sedan Flera startprojekt. 
- För båda projekten väljer du Starta som åtgärd 
- Kontrollera att TodoListService-tjänsten startar först genom att flytta den till den första positionen i listan med hjälp av uppåtpilen. 
Logga in för att köra ditt TodoListClient-projekt.
- Tryck på F5 för att starta projekten. Tjänstsidan öppnas samt skrivbordsprogrammet. 
- I TodoListClient, längst upp till höger, väljer du Logga inoch loggar sedan in med samma autentiseringsuppgifter som du använde för att registrera ditt program eller logga in som en användare i samma katalog. - Om du loggar in för första gången kan du uppmanas att godkänna Webb-API:et TodoListService. - För att hjälpa dig att komma åt TodoListService-webb-API:et och ändra att-göra--listan begär inloggningen också en åtkomsttoken för access_as_user behörighet. 
Förauktorisera klientprogrammet
Du kan tillåta användare från andra kataloger att komma åt webb-API:et genom att förauktorisera klientprogrammet för åtkomst till webb-API:et. Det gör du genom att lägga till program-ID:t från klientappen i listan över förauktoriserade program för webb-API:et. Genom att lägga till en förauktoriserat klient tillåter du användare att komma åt webb-API:et utan att behöva ge sitt medgivande.
- Öppna egenskaperna för din TodoListService-app i Appregistreringar-portalen.
- I avsnittet Exponera ett API går du till Auktoriserade klientprogramoch väljer Lägg till ett klientprogram.
- I rutan klient-ID klistrar du in program-ID:t för TodoListClient-appen.
- I avsnittet Auktoriserade omfång väljer du omfånget för api://<Application ID>/access_as_userwebb-API.
- Välj Lägg till program.
Kör projektet
- Tryck på F5 för att köra projektet. Din TodoListClient-app öppnas.
- Längst upp till höger väljer du Logga inoch loggar sedan in med ett personligt Microsoft-konto, till exempel ett live.com- eller hotmail.com-konto eller ett arbets- eller skolkonto.
Valfritt: Begränsa inloggningsåtkomsten till vissa användare
Som standard kan alla personliga konton, till exempel outlook.com eller live.com konton eller arbets- eller skolkonton från organisationer som är integrerade med Microsoft Entra-ID, begära token och komma åt ditt webb-API.
Om du vill ange vem som kan logga in på ditt program ändrar du egenskapen TenantId i filen appsettings.json.
Nästa steg
Lär dig hur du skyddar ett ASP.NET Core-webb-API med Microsofts identitetsplattform.
