Snabbstart: Logga in användare och anropa Microsoft Graph API från en ASP.NET Core-webbapp
I den här snabbstarten använder du ett exempel ASP.NET Core-webbapp för att logga in användare med auktoriseringskodflöde och anropa 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 Skapa ett konto kostnadsfritt.
- Ett minimikrav för .NET 8.0 SDK
- Visual Studio Code
Registrera applikationen och registrera identifierare
För att slutföra registreringen anger du ett namn för programmet och anger vilka kontotyper som stöds. När ansökan har registrerats visas översiktsfönstret de nödvändiga identifierarna som behövs i ansökans 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 klientorganisationen där du vill registrera programmet från menyn Kataloger + prenumerationer.
Navigera till Identity>Applications>App registrations, välj Ny registrering.
Ange ett namn för applikationen, till exempel identity-client-web-app.
För kontotyper som stödsväljer du endast Konton i den här organisationskatalogen. Om du vill ha information om olika kontotyper väljer du alternativet Hjälp mig att välja.
Välj Registrera.
Programmets översiktsfönster visas när registreringen är klar. Registrera Directory-ID (huvudorganisation) och Applikations-ID (klient) som ska användas i applikationskällkoden.
Not
De kontotyper som stöds kan ändras genom att hänvisa till Ändra konton som stöds av en applikation.
Lägga till en plattformsomdirigerings-URI
Följ dessa steg om du vill ange din apptyp för din appregistrering:
- Under Hanteraväljer du Autentisering.
- På sidan Platform-konfigurationer väljer du Lägg till en plattformoch väljer sedan alternativet Web.
- För omdirigerings-URI:er anger du
https://localhost:5001/signin-oidc
för. - Under URL för utloggning av frontkanalenanger du
https://localhost:5001/signout-callback-oidc
för att logga ut. - 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
För att skydda ditt program lägger du till ett certifikat i programmet. Det här avsnittet visar hur du skapar ett självsignerat certifikat och laddar upp det till programregistreringen i administrationscentret för Microsoft Entra.
Notera
Självsignerade certifikat bör endast användas under utveckling. I produktion bör du använda ett certifikat från en betrodd certifikatutfärdare.
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 Hanteraväljer du Certifikat & nycklar,>,Ladda upp certifikat.
Välj fliken certifikat (0) och välj sedan Ladda upp certifikat.
Fönstret Ladda upp certifikat öppnas. 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-appoch välj Lägg till.
Registrera värdet Tumavtryck 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 den klientorganisation där programmet är registrerat. Ersätt texten inom citationstecken medDirectory (tenant) ID
som spelades in tidigare från översiktssidan för det registrerade programmet. -
ClientId
– Programmets identifierare, ä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 registrerades.
-
Kör programmet och logga in
I projektkatalogen använder du terminalen för att ange följande kommando.
dotnet run
Kopiera den
https
URL som visas i terminalen, till exempelhttps://localhost:5001
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
- Leta reda på 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