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
- Ett Azure-konto med en aktiv prenumeration. Om du inte redan har ett kan du skapa ett konto kostnadsfritt.
- Ett minimikrav för .NET 6.0 SDK
- Visual Studio 2022 eller Visual Studio Code
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.
Logga in på administrationscentret för Microsoft Entra.
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.
Bläddra till Identitetsprogram>> Appregistreringar och välj Ny registrering.
Ange ett namn för programmet, till exempel identity-client-web-app.
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 .
Välj Registrera.
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.
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:
- Under Hantera väljer du Autentisering.
- På sidan Plattformskonfigurationer väljer du Lägg till en plattform och sedan webbalternativ .
- För omdirigerings-URI :er anger du
https://localhost:5001/signin-oidc
. - Under URL för utloggning i frontkanalen anger du
https://localhost:5001/signout-callback-oidc
för utloggning. - 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
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
Gå tillbaka till administrationscentret för Microsoft Entra och under Hantera väljer du Certifikat och hemligheter>Ladda upp certifikat.
Välj fliken Certifikat (0) och välj sedan Ladda upp certifikat.
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.
Ange en beskrivning för certifikatet, till exempel Certifikat för aspnet-web-app och välj Lägg till.
Registrera tumavtrycksvärdet för användning i nästa steg.
Konfigurera projektet
I din IDE öppnar du projektmappen ms-identity-docs-code-dotnet\web-app-aspnet som innehåller exemplet.
Ö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 denDirectory (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 detApplication (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 iCertificateThumbprint
med tumavtrycket för certifikatet som tidigare har registrerats.
Kör programmet och logga in
I projektkatalogen använder du terminalen för att ange följande kommando.
dotnet run
Kopiera url
https
:en som visas i terminalen,https://localhost:5001
till exempel , och klistra in den i en webbläsare. Vi rekommenderar att du använder en privat eller inkognito-webbläsarsession.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.
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.
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.
Logga ut från programmet
- Hitta länken Logga ut i det övre högra hörnet på sidan och välj den.
- 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.
- Ett meddelande visas som anger att du har loggat ut. Nu kan du stänga webbläsarfönstret.
Relaterat innehåll
- Lär dig genom att skapa den här ASP.NET webbappen med serien Självstudie: Registrera ett program med Microsofts identitetsplattform.
- Snabbstart: Skydda ett ASP.NET Core-webb-API med Microsofts identitetsplattform.
- Snabbstart: Distribuera en ASP.NET webbapp till Azure App Service