Dela via


Självstudie: Konfigurera en ASP.NET Core-webbapp som autentiserar användare

Gäller för: grön cirkel med en vit bockmarkeringssymbol. Workforce-klienter grön cirkel med en vit bockmarkeringssymbol. externa klienter (läs mer)

I den här självstudien skapar du en ASP.NET Core-webbapp och konfigurerar den för autentisering. Det här är del 1 i en serie som visar hur du skapar en ASP.NET Core-webbapp och förbereder den för autentisering med hjälp av administrationscentret för Microsoft Entra. Det här programmet kan användas för anställda i en personalklientorganisation eller för kunder som använder en extern klientorganisation

I den här handledningen:

  • Skapa en ASP.NET Core-webbapp
  • Skapa ett självsignerat certifikat
  • Konfigurera inställningarna för programmet
  • Definiera plattformsinställningar och URL:er

Förutsättningar

  • Ett Azure-konto med en aktiv prenumeration. Skapa ett konto kostnadsfritt. Det här kontot måste ha behörighet att hantera program. Använd någon av följande roller som behövs för att registrera programmet:
    • Programadministratör
    • Programutvecklare
    • Molnprogramadministratör
  • Även om alla integrerade utvecklingsmiljöer (IDE) som stöder ASP.NET Core-applikationer kan användas, använder denna handledning Visual Studio Code. Du kan ladda ned den här.
  • Ett minimikrav för .NET 8.0 SDK.
  • En hyresgäst för arbetskraft Du kan använda din standardkatalog eller konfigurera en ny klientorganisation.
  • Ett program som är registrerat i administrationscentret för Microsoft Entra. Använd följande konfiguration i den här självstudieserien:
    • Namn: identity-client-web-app
    • stödde kontotyper: endast konton i den här organisationskatalogen
    • omdirigerings-URI: https://localhost:5001/signin-oidc
    • Utloggnings-URL för frontkanal: https://localhost:5001/signout-oidc
  • I utvecklingssyfte skapa ett självsignerat certifikat. Referera till , lägg till autentiseringsuppgifter för att ladda upp certifikatet och registrera certifikatet Tumavtryck. Använd inte ett självsignerat certifikat för produktionsappar. Använd en betrodd certifikatutfärdare.

Skapa ett ASP.NET Core-projekt

I det här avsnittet skapar du ett ASP.NET Core-projekt i Visual Studio Code.

  1. Öppna Visual Studio Code, välj Fil > Öppna mapp.... Navigera till och välj den plats där projektet ska skapas.

  2. Öppna en ny terminal genom att välja Terminal > New Terminal.

  3. Ange följande kommando för att skapa ett MVC-projekt (Model View Controller) ASP.NET Core.

    dotnet new mvc -n identity-client-web-app
    

Installera identitetspaket

Det här programmet använder Microsoft.Identity.Web och det relaterade NuGet-paketet måste installeras.

Använd följande kodfragment för att ändra till den nya mappen identity-client-web-app och installera relevant NuGet-paket:

dotnet add package Microsoft.Identity.Web.UI

Konfigurera programmet för autentisering

Värdena som registreras i programkonfigurationen används för att konfigurera programmet för autentisering. Konfigurationsfilen, appsettings.json, används för att lagra programinställningar som används under körningen.

Uppdatera konfigurationsfilen

Öppna appsettings.json i din IDE och ersätt filinnehållet med följande kodfragment. Ersätt texten med citattecken med de värden som spelades in tidigare.

{
  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "TenantId": "Enter_the_Tenant_Id_Here",
    "ClientId": "Enter_the_Application_Id_Here",
    "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": "*"
  }
  • Instance – autentiseringsslutpunkten. Kontrollera med de olika tillgängliga slutpunkterna i Nationella moln.
  • TenantId – identifierare för den hyresgäst där programmet är registrerat. Ersätt texten inom citattecken med värdet för -ID:t (klientorganisation) som registrerades tidigare från översiktssidan för det registrerade programmet.
  • ClientId – Programmets identifierare, även kallad klienten. Ersätt texten inom citattecken med program-ID (klient)-ID:t 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 registrerades. Använd inte ett självsignerat certifikat för produktionsappar.
  • CallbackPath – Är en identifierare som hjälper servern att omdirigera ett svar till rätt program.
  • DownstreamApi – Är en identifierare som definierar en slutpunkt för åtkomst till Microsoft Graph. Programmets URI kombineras med det angivna omfånget. Om du vill definiera konfigurationen för ett program som ägs av organisationen skiljer sig värdet för attributet Scopes något.

Uppdatera omdirigerings-URI:n

Enligt förutsättningarna i , anges omdirigerings-URI:n till https://localhost:5001/signin-oidc. Detta måste uppdateras i inställningarna för programstart. Du kan använda omdirigerings-URI:n som skapas under den lokala programkonfigurationen, eller något annat tillgängligt portnummer, förutsatt att den matchar omdirigerings-URI:n i programregistreringen.

  1. Öppna filen launchSettings.json i mappen Egenskaper.

  2. Leta upp https-objektet och uppdatera värdet för applicationURI med rätt portnummer, i det här fallet 5001. Raden bör se ut ungefär som följande kodfragment:

    "applicationUrl": "https://localhost:5001;http://localhost:{port}",
    

Nästa steg