Delen via


Quickstart: .NET-console-app die toegang heeft tot een beveiligde web-API

In deze quickstart wordt een voorbeeld van een .NET-consoletoepassing gebruikt voor toegang tot een beveiligde web-API als een eigen identiteit met behulp van de Microsoft Authentication Library (MSAL) voor .NET. De toepassing is een daemon-toepassing, een vertrouwelijke clienttoepassing en gebruikt de OAuth-clientreferentiesstroom om een toegangstoken op te halen om de Microsoft Graph API aan te roepen.

Vereisten

De toepassings- en record-id's registreren

Als u de registratie wilt voltooien, geeft u de toepassing een naam op en geeft u de ondersteunde accounttypen op. Nadat de toepassing is geregistreerd, worden in het deelvenster Overzicht van de toepassing de id's weergegeven die nodig zijn in de broncode van de toepassing.

  1. Meld u aan bij het Microsoft Entra-beheercentrum.

  2. Als u toegang hebt tot meerdere tenants, gebruikt u het pictogram Instellingen in het bovenste menu om over te schakelen naar de tenant waarin u de toepassing wilt registreren in het menu Mappen en abonnementen.

  3. Blader naar Identiteitstoepassingen>> App-registraties en selecteer Nieuwe registratie.

  4. Voer een naam in voor de toepassing, zoals identity-client-daemon-app.

  5. Bij Ondersteunde accounttypen selecteert u Enkel accounts in deze organisatieadreslijst. Selecteer de optie Help mij kiezen voor informatie over verschillende accounttypen.

  6. Selecteer Registreren.

    Schermopname die laat zien hoe u een naam invoert en het accounttype selecteert in het Microsoft Entra-beheercentrum.

  7. Het deelvenster Overzicht van de toepassing wordt weergegeven wanneer de registratie is voltooid. Noteer de map-id (tenant), de toepassings-id (client) en object-id die moeten worden gebruikt in de broncode van uw toepassing.

    Schermopname van de id-waarden op de overzichtspagina in het Microsoft Entra-beheercentrum.

    Notitie

    De ondersteunde accounttypen kunnen worden gewijzigd door te verwijzen naar De accounts wijzigen die door een toepassing worden ondersteund.

Een clientgeheim maken

  1. Blader in het Microsoft Entra-beheercentrum naar Identiteitstoepassingen>> App-registraties.
  2. Selecteer de toepassing die u eerder hebt geregistreerd.
  3. Selecteer certificaten en geheimen>nieuw clientgeheim in het deelvenster Overzicht van de toepassing.
  4. Voer een beschrijving in voor het geheim in het veld Beschrijving .
  5. Selecteer een verloopperiode voor het geheim.
  6. Selecteer Toevoegen.
  7. Noteer de waarde van het clientgeheim. De waarde wordt slechts eenmaal weergegeven, dus zorg ervoor dat u deze opneemt.

De voorbeeldtoepassing klonen of downloaden

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-docs-code-dotnet.git
    
  • Download het .zip-bestand. Pak het uit naar een bestandspad waarbij de lengte van de naam minder dan 260 tekens is.

Het project configureren

  1. Open in uw IDE de projectmap ms-identity-docs-code-dotnet/console-daemon met het voorbeeld.

  2. Open Program.cs en vervang de bestandsinhoud door het volgende codefragment;

     // 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 - De instantie is een URL die een map aangeeft waaruit MSAL tokens kan aanvragen. Vervang Enter_the_tenant_ID door de id-waarde van de map (tenant) die eerder is vastgelegd.
    • ClientId - De id van de toepassing, ook wel de client genoemd. Vervang de tekst tussen aanhalingstekens door de Application (client) ID waarde die eerder is vastgelegd op de overzichtspagina van de geregistreerde toepassing.
    • ClientSecret - Het clientgeheim dat is gemaakt voor de toepassing in het Microsoft Entra-beheercentrum. Voer de waarde van het clientgeheim in.
    • ClientObjectId - De object-id van de clienttoepassing. Vervang de tekst tussen aanhalingstekens door de Object ID waarde die eerder is vastgelegd op de overzichtspagina van de geregistreerde toepassing.

De toepassing uitvoeren

  1. Navigeer in een terminal naar de projectmap ms-identity-docs-code-dotnet /console-daemon.

  2. Voer de volgende opdracht uit om de toepassing te bouwen en uit te voeren:

    dotnet run
    
  3. De toepassing wordt uitgevoerd en geeft een antwoord weer dat lijkt op het volgende (ingekort voor beknoptheid):

    {
    "@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,
    ...
    }