Delen via


Quickstart: Gebruikers aanmelden en de Microsoft Graph API aanroepen vanuit een ASP.NET Core-web-app

In deze quickstart gebruikt u een voorbeeld ASP.NET Core-web-app om gebruikers aan te melden met behulp van de autorisatiecodestroom en de Microsoft Graph API aan te roepen. In het voorbeeld wordt gebruikgemaakt van Microsoft Authentication Library voor .NET en Microsoft Identity Web voor het afhandelen van verificatie.

Voorwaarden

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 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 Identity>Applications>App-registratiesen selecteer Nieuwe registratie.

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

  5. Voor ondersteunde accounttypenselecteert u Accounts in deze organisatiemap alleen. Voor informatie over verschillende accounttypen selecteert u de Help mij kiezen optie.

  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 Directory-id (tenant) en de -toepassings-id (client)-id die moet worden gebruikt in de broncode van uw toepassing.

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

    Notitie

    De Ondersteunde accounttypen kunnen worden gewijzigd door te verwijzen naar Wijzig de ondersteunde accounts door een toepassing.

Een redirect-URI voor het platform toevoegen

Voer de volgende stappen uit om uw app-type op te geven voor uw app-registratie:

  1. Ga onder naar Beheren en selecteer vervolgens Verificatie.
  2. Selecteer op pagina PlatformconfiguratiesEen platform toevoegenen selecteer vervolgens de optie Web.
  3. Voer voor de omleidings-URI'shttps://localhost:5001/signin-oidcin.
  4. Voer onder afmeldings-URL van frontkanaalhttps://localhost:5001/signout-callback-oidc in om u af te melden.
  5. Selecteer Configureren om uw wijzigingen op te slaan.

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.

Een zelfondertekend certificaat maken en uploaden

Als u uw toepassing wilt beveiligen, voegt u een certificaat toe aan uw toepassing. In deze sectie wordt beschreven hoe u een zelfondertekend certificaat maakt en uploadt naar de toepassingsregistratie in het Microsoft Entra-beheercentrum.

Notitie

Zelfondertekende certificaten mogen alleen worden gebruikt in ontwikkeling. In productie moet u een certificaat van een vertrouwde certificeringsinstantie gebruiken.

  1. Gebruik de volgende opdrachten om met behulp van uw terminal te navigeren om een zelfondertekend certificaat te maken in de projectmap.

    cd ms-identity-docs-code-dotnet\web-app-aspnet\
    dotnet dev-certs https -ep ./certificate.crt --trust
    
  2. Ga terug naar het Microsoft Entra-beheercentrum en selecteer onder BeherenCertificaten & geheimen>Certificaat uploaden.

  3. Selecteer het tabblad Certificaten (0) en selecteer vervolgens Certificaat uploaden.

  4. Er wordt een deelvenster Certificaat uploaden weergegeven. Gebruik het pictogram om naar het certificaatbestand te gaan dat u in de vorige stap hebt gemaakt en selecteer openen.

  5. Voer een beschrijving in voor het certificaat, bijvoorbeeld Certificaat voor aspnet-web-app-en selecteer Toevoegen.

  6. Noteer de waarde van de Vingerafdruk voor gebruik in de volgende stap.

Het project configureren

  1. Open in uw IDE de projectmap ms-identity-docs-code-dotnet\web-app-aspnet, met het voorbeeld.

  2. Open appsettings.json en vervang de bestandsinhoud door het volgende codefragment;

    {
    "AzureAd": {
      "Instance": "https://login.microsoftonline.com/",
      "TenantId": "Enter the tenant ID obtained from the Microsoft Entra admin center",
      "ClientId": "Enter the client ID obtained from the Microsoft Entra admin center",
      "ClientCertificates": [
        {
          "SourceType": "StoreWithThumbprint",
          "CertificateStorePath": "CurrentUser/My",
          "CertificateThumbprint": "Enter the certificate thumbprint obtained the Microsoft Entra admin center"
        }   
      ],
      "CallbackPath": "/signin-oidc"
    },
      "DownstreamApi": {
        "BaseUrl": "https://graph.microsoft.com/v1.0/",
        "RelativePath": "me",
        "Scopes": [ 
          "user.read" 
        ]
      },
      "Logging": {
        "LogLevel": {
          "Default": "Information",
          "Microsoft.AspNetCore": "Warning"
        }
      },
      "AllowedHosts": "*"
    }
    
    • TenantId: de id van de tenant waar de toepassing is geregistreerd. Vervang de tekst tussen aanhalingstekens door de Directory (tenant) ID die eerder is vastgelegd op de overzichtspagina van de geregistreerde toepassing.
    • 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.
    • ClientCertificates: er wordt een zelfondertekend certificaat gebruikt voor verificatie in de toepassing. Vervang de tekst van de CertificateThumbprint door de vingerafdruk van het certificaat dat eerder is vastgelegd.

Voer de toepassing uit en meld u aan

  1. Gebruik de terminal in uw projectmap om de volgende opdracht in te voeren;

    dotnet run
    
  2. Kopieer de https-URL die wordt weergegeven in de terminal, bijvoorbeeld https://localhost:5001en plak deze in een browser. U wordt aangeraden een privé- of incognitobrowsersessie te gebruiken.

  3. Volg de stappen en voer de benodigde gegevens in om u aan te melden met uw Microsoft-account. U wordt gevraagd een e-mailadres op te geven, zodat een eenmalige wachtwoordcode naar u kan worden verzonden. Voer de code in wanneer u hierom wordt gevraagd.

  4. De toepassing vraagt toestemming om de toegang te behouden tot de gegevens waartoe u het toegang hebt gegeven, en om u in te loggen en uw profiel te lezen. Selecteer Accepteren.

  5. De volgende schermopname wordt weergegeven, waarmee wordt aangegeven dat u zich hebt aangemeld bij de toepassing en uw profielgegevens hebt geopend vanuit de Microsoft Graph API.

    Schermopname met de resultaten van de API-aanroep.

Afmelden bij de toepassing

  1. Zoek de koppeling Afmelden in de rechterbovenhoek van de pagina en selecteer deze.
  2. U wordt gevraagd een account te kiezen om u af te melden. Selecteer het account dat u hebt gebruikt om u aan te melden.
  3. Er verschijnt een bericht dat aangeeft dat u bent afgemeld. U kunt nu het browservenster sluiten.