Dela via


Snabbstart: .NET-konsolapp som har åtkomst till ett skyddat webb-API

Den här snabbstarten använder ett .NET-exempelkonsolprogram för att komma åt ett skyddat webb-API som sin egen identitet med hjälp av Microsoft Authentication Library (MSAL) för .NET. Programmet är ett daemonprogram, som är ett konfidentiellt klientprogram, och använder OAuth-flödet för klientautentiseringsuppgifter för att hämta en åtkomsttoken för att anropa Microsoft Graph API.

Förutsättningar

Registrera program- och postidentifierare

För att slutföra registreringen anger du ett namn för programmet och anger vilka kontotyper som stöds. När programmets översiktsfönster har registrerats visas de identifierare som behövs i programmets källkod.

  1. Logga in på administrationscentret för Microsoft Entra.

  2. Om du har åtkomst till flera klienter använder du ikonen Inställningar på den översta menyn för att växla till den klientorganisation där du vill registrera programmet från menyn Kataloger + prenumerationer.

  3. Bläddra till Identitetsprogram>> Appregistreringar och välj Ny registrering.

  4. Ange ett namn för programmet, till exempel identity-client-daemon-app.

  5. För Kontotyper som stöds väljer du Endast konton i den här organisationskatalogen. Om du vill ha information om olika kontotyper väljer du alternativet Hjälp mig .

  6. Välj Registrera.

    Skärmbild som visar hur du anger ett namn och väljer kontotypen i administrationscentret för Microsoft Entra.

  7. Programmets översiktsfönster visas när registreringen är klar. Registrera katalog-ID:t (klientorganisation), program-ID :t (klient-) och objekt-ID:t som ska användas i programmets källkod.

    Skärmbild som visar identifierarvärdena på översiktssidan i administrationscentret för Microsoft Entra.

    Kommentar

    Kontotyper som stöds kan ändras genom att referera till Ändra konton som stöds av ett program.

Skapa en klienthemlighet

  1. I administrationscentret för Microsoft Entra bläddrar du till Identitetsprogram>> Appregistreringar.
  2. Välj det program som du registrerade tidigare.
  3. I programmets översiktsfönster väljer du Certifikat och hemligheter>Ny klienthemlighet.
  4. Ange en beskrivning av hemligheten i fältet Beskrivning .
  5. Välj en förfalloperiod för hemligheten.
  6. Markera Lägga till.
  7. Registrera värdet för klienthemligheten. Värdet visas bara en gång, så se till att registrera det.

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.

  • 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-docs-code-dotnet.git
    
  • Ladda ned filen .zip. Extrahera den till en filsökväg där namnets längd är färre än 260 tecken.

Konfigurera projektet

  1. I din IDE öppnar du projektmappen ms-identity-docs-code-dotnet/console-daemon som innehåller exemplet.

  2. Öppna Program.cs och ersätt filinnehållet med följande kodfragment.

     // Full directory URL, in the form of https://login.microsoftonline.com/<tenant_id>
     Authority = " https://login.microsoftonline.com/Enter_the_tenant_ID_obtained_from_the_Microsoft_Entra_admin_center",
     // 'Enter the client ID obtained from the Microsoft Entra admin center
     ClientId = "Enter the client ID obtained from the Microsoft Entra admin center",
     // Client secret 'Value' (not its ID) from 'Client secrets' in the Microsoft Entra admin center
     ClientSecret = "Enter the client secret value obtained from the Microsoft Entra admin center",
     // Client 'Object ID' of app registration in Microsoft Entra admin center - this value is a GUID
     ClientObjectId = "Enter the client Object ID obtained from the Microsoft Entra admin center"
    
    • Authority – Utfärdaren är en URL som anger en katalog som MSAL kan begära token från. Ersätt Enter_the_tenant_ID med värdet katalog-ID (klientorganisation) som registrerades tidigare.
    • ClientId - Identifieraren för programmet, även kallad klienten. Ersätt texten med citattecken med det Application (client) ID värde som registrerades tidigare från översiktssidan för det registrerade programmet.
    • ClientSecret – Klienthemligheten som skapats för programmet i administrationscentret för Microsoft Entra. Ange värdet för klienthemligheten.
    • ClientObjectId – Objekt-ID för klientprogrammet. Ersätt texten med citattecken med det Object ID värde som registrerades tidigare från översiktssidan för det registrerade programmet.

Kör appen

  1. I en terminal går du till projektkatalogen ms-identity-docs-code-dotnet /console-daemon.

  2. Kör följande kommando för att skapa och köra programmet:

    dotnet run
    
  3. Programmet kör och visar ett svar som liknar följande (förkortat för korthet):

    {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications/$entity",
    "id": "00001111-aaaa-2222-bbbb-3333cccc4444",
    "deletedDateTime": null,
    "appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
    "applicationTemplateId": null,
    "disabledByMicrosoftStatus": null,
    "createdDateTime": "2021-01-17T15:30:55Z",
    "displayName": "identity-dotnet-console-app",
    "description": null,
    "groupMembershipClaims": null,
    ...
    }