Dela via


Snabbstart: Logga in användare och anropa Microsoft Graph API från en ASP.NET Core-webbapp

Den här snabbstarten använder ett exempel ASP.NET Core-webbapp för att visa hur du loggar in användare med hjälp av auktoriseringskodflödet och anropar Microsoft Graph API. Exemplet använder Microsoft Authentication Library för .NET och Microsoft Identity Web för att hantera autentisering.

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-web-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 (klient)-ID:t och program-ID:t (klient) 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.

Lägga till en plattformsomdirigerings-URI

Följ dessa steg om du vill ange din apptyp för din appregistrering:

  1. Under Hantera väljer du Autentisering.
  2. På sidan Plattformskonfigurationer väljer du Lägg till en plattform och sedan webbalternativ .
  3. För omdirigerings-URI :er anger du https://localhost:5001/signin-oidc.
  4. Under URL för utloggning i frontkanalen anger du https://localhost:5001/signout-callback-oidc för utloggning.
  5. Välj Konfigurera för att spara ändringarna.

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.

Skapa och ladda upp ett självsignerat certifikat

  1. Använd terminalen och använd följande kommandon för att navigera för att skapa ett självsignerat certifikat i projektkatalogen.

    cd ms-identity-docs-code-dotnet\web-app-aspnet\
    dotnet dev-certs https -ep ./certificate.crt --trust
    
  2. Gå tillbaka till administrationscentret för Microsoft Entra och under Hantera väljer du Certifikat och hemligheter>Ladda upp certifikat.

  3. Välj fliken Certifikat (0) och välj sedan Ladda upp certifikat.

  4. Fönstret Ladda upp certifikat visas. Använd ikonen för att navigera till certifikatfilen som du skapade i föregående steg och välj Öppna.

  5. Ange en beskrivning för certifikatet, till exempel Certifikat för aspnet-web-app och välj Lägg till.

  6. Registrera tumavtrycksvärdet för användning i nästa steg.

Konfigurera projektet

  1. I din IDE öppnar du projektmappen ms-identity-docs-code-dotnet\web-app-aspnet som innehåller exemplet.

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

    {
    "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 – Identifieraren för klientorganisationen där programmet är registrerat. Ersätt texten inom citattecken med den Directory (tenant) ID som spelades in tidigare från översiktssidan för det registrerade programmet.
    • 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.
    • ClientCertificates – Ett självsignerat certifikat används för autentisering i programmet. Ersätt texten i CertificateThumbprint med tumavtrycket för certifikatet som tidigare har registrerats.

Kör programmet och logga in

  1. I projektkatalogen använder du terminalen för att ange följande kommando.

    dotnet run
    
  2. Kopiera url https :en som visas i terminalen, https://localhost:5001till exempel , och klistra in den i en webbläsare. Vi rekommenderar att du använder en privat eller inkognito-webbläsarsession.

  3. Följ stegen och ange nödvändig information för att logga in med ditt Microsoft-konto. Du uppmanas att ange en e-postadress så att ett engångslösenord kan skickas till dig. Ange koden när du uppmanas att göra det.

  4. Programmet begär behörighet att behålla åtkomsten till data som du har gett den åtkomst till och logga in dig och läsa din profil. Välj Acceptera.

  5. Följande skärmbild visas som anger att du har loggat in på programmet och har använt din profilinformation från Microsoft Graph-API:et.

    Skärmbild som visar resultatet av API-anropet.

Logga ut från programmet

  1. Hitta länken Logga ut i det övre högra hörnet på sidan och välj den.
  2. Du uppmanas att välja ett konto att logga ut från. Välj det konto som du använde för att logga in.
  3. Ett meddelande visas som anger att du har loggat ut. Nu kan du stänga webbläsarfönstret.