Snelstart: aanmelding voor Microsoft-identiteitsplatform toevoegen aan een ASP.NET web-appQuickstart: Add Microsoft identity platform sign-in to an ASP.NET web app

In deze snelstart gebruikt u een codevoorbeeld om te leren hoe een ASP.NET web-app om persoonlijke accounts (hotmail.com, outlook.com, anderen) en werk- en schoolaccounts aan te melden vanuit een Azure Active Directory-instantie (Azure AD).In this quickstart, you use a code sample to learn how an ASP.NET web app to sign in personal accounts (hotmail.com, outlook.com, others) and work and school accounts from any Azure Active Directory (Azure AD) instance. (Zie hoe het voorbeeld werkt voor een illustratie.)(See How the sample works for an illustration.)

De snelstart-app registreren en downloadenRegister and download your quickstart app

U hebt twee opties voor het starten van de snelstarttoepassing:You have two options to start your quickstart application:

Optie 1: de app registreren en automatisch configureren, en vervolgens de voorbeeldcode downloadenOption 1: Register and auto configure your app and then download your code sample

  1. Ga naar de nieuwe Azure-portal - deelvenster App-registraties.Go to the new Azure portal - App registrations pane.
  2. Voer een naam in voor de toepassing en klik op Registreren.Enter a name for your application and click Register.
  3. Volg de instructies om de nieuwe toepassing met slechts één klik te downloaden en automatisch te configureren.Follow the instructions to download and automatically configure your new application for you in one click.

Optie 2: registreer de toepassing en configureer handmatig de toepassing en het codevoorbeeldOption 2: Register and manually configure your application and code sample

Stap 1: Uw toepassing registrerenStep 1: Register your application

Volg deze stappen om de toepassing te registreren en de registratiegegevens van de app handmatig toe te voegen aan uw oplossing:To register your application and add the app's registration information to your solution manually, follow these steps:

  1. Meld u aan bij de Azure-portal met een werk- of schoolaccount of een persoonlijk Microsoft-account.Sign in to the Azure portal using either a work or school account, or a personal Microsoft account.
  2. Als u via uw account toegang tot meer dan één tenant hebt, selecteert u uw account in de rechterbovenhoek en stelt u uw portalsessie in op de gewenste Azure Active Directory-tenant.If your account gives you access to more than one tenant, select your account in the top right corner, and set your portal session to the desired Azure AD tenant.
  3. Navigeer naar de pagina Microsoft-identiteitsplatform voor ontwikkelaars App-registraties.Navigate to the Microsoft identity platform for developers App registrations page.
  4. Selecteer Nieuwe registratie.Select New registration.
  5. Wanneer de pagina Een toepassing registreren verschijnt, voert u de registratiegegevens van de toepassing in:When the Register an application page appears, enter your application's registration information:
    • Voer in de sectie Naam een beschrijvende toepassingsnaam in die zichtbaar is voor gebruikers van de app. Bijvoorbeeld: ASPNET-Quickstart.In the Name section, enter a meaningful application name that will be displayed to users of the app, for example ASPNET-Quickstart.
    • Voeg http://localhost:44368/ URI omleidentoe en klik op Registreren.Add http://localhost:44368/ in Redirect URI, and click Register.
    • Selecteer Verificatie in het linkernavigatiedeelvenster onder de sectie BeherenFrom the left navigation pane under the Manage section, select Authentication
      • Selecteer onder de subsectie Impliciete subsidie id-tokens.Under the Implicit Grant sub-section, select ID tokens.
      • En selecteer Opslaan.And then select Save.

Stap 1: Uw toepassing configureren in Azure PortalStep 1: Configure your application in Azure portal

Voor een juiste werking van het codevoorbeeld uit deze snelstart, moet u een antwoord-URL als https://localhost:44368/ toevoegen.For the code sample for this quickstart to work, you need to add a reply URL as https://localhost:44368/.

Al geconfigureerd Uw toepassing is al geconfigureerd met dit kenmerkAlready configured Your application is configured with this attribute

Stap 2: Uw project downloadenStep 2: Download your project

Voer het project uit met Visual Studio 2019.Run the project using Visual Studio 2019.

Stap 3: Uw app is geconfigureerd en klaar om uit te voerenStep 3: Your app is configured and ready to run

We hebben uw project geconfigureerd met waarden van de eigenschappen van uw app.We have configured your project with values of your app's properties.

Stap 3: Uw Visual Studio-project uitvoerenStep 3: Run your Visual Studio project

  1. Pak het zip-bestand uit in een lokale map dichter bij de hoofdmap (bijvoorbeeld C:\Azure-Samples)Extract the zip file to a local folder closer to the root folder - for example, C:\Azure-Samples
  2. Open de oplossing in Visual Studio (AppModelv2-Web-App-OpenIDConnect-DotNet.sln)Open the solution in Visual Studio (AppModelv2-WebApp-OpenIDConnect-DotNet.sln)
  3. Afhankelijk van de versie van Visual Studio moet u AppModelv2-WebApp-OpenIDConnect-DotNet mogelijk met de rechtermuisknop op het project klikken en NuGet-pakketten herstellenDepending on the version of Visual Studio, you might need to right click on the project AppModelv2-WebApp-OpenIDConnect-DotNet and Restore NuGet packages
  4. Open de Package Manager Console (View -> Other Windows -> Package Manager Console) en voer uitUpdate-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform -rOpen the Package Manager Console (View -> Other Windows -> Package Manager Console) and run Update-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform -r
  1. Bewerk Web.config en vervang de parameters ClientId en Tenant door:Edit Web.config and replace the parameters ClientId and Tenant with:
    <add key="ClientId" value="Enter_the_Application_Id_here" />
    <add key="Tenant" value="Enter_the_Tenant_Info_Here" />
    
    Waar:Where:
  • Enter_the_Application_Id_here: de toepassings-id voor de toepassing die u hebt geregistreerd.Enter_the_Application_Id_here - is the Application Id for the application you registered.
  • Enter_the_Tenant_Info_Here: is een van de onderstaande opties:Enter_the_Tenant_Info_Here - is one of the options below:
    • Als uw toepassing alleen Mijn organisatieondersteunt, vervangt u deze waarde door de tenant-id of tenantnaam (bijvoorbeeld contoso.onmicrosoft.com)If your application supports My organization only, replace this value with the Tenant Id or Tenant name (for example, contoso.onmicrosoft.com)
    • Als uw toepassing Accounts in elke organisatiemap ondersteunt, vervang deze waarde dan door organizationsIf your application supports Accounts in any organizational directory, replace this value with organizations
    • Als uw toepassing Alle Microsoft-accountgebruikers ondersteunt, vervang deze waarde dan door commonIf your application supports All Microsoft account users, replace this value with common

Tip

  • Als u de waarden van Toepassings-id, Map-id (tenant) en Ondersteunde accounttypen wilt weten, gaat u naar de OverzichtspaginaTo find the values of Application ID, Directory (tenant) ID, and Supported account types, go to the Overview page
  • Zorg ervoor redirectUri dat de waarde voor in web.config overeenkomt met de OMLEIDING URI gedefinieerd voor de app-registratie in Azure AD (zo niet, navigeer naar het menu Verificatie voor de app-registratie en werk de OMLEIDING URI bij om aan te sluiten)Ensure the value for redirectUri in the Web.config corresponds with the Redirect URI defined for the App Registration in Azure AD (if not, navigate to the Authentication menu for the App Registration and update the REDIRECT URI to match)

Notitie

Enter_the_Supported_Account_Info_Here

Meer informatieMore information

Deze sectie bevat een overzicht van de code die vereist is voor het aanmelden van gebruikers.This section gives an overview of the code required to sign-in users. Dit overzicht kan handig zijn om te begrijpen hoe de code werkt, de belangrijkste argumenten, en ook als u aanmelding wilt toevoegen aan een bestaande ASP.NET toepassing.This overview can be useful to understand how the code works, main arguments, and also if you want to add sign-in to an existing ASP.NET application.

Hoe het voorbeeld werktHow the sample works

Laat zien hoe de voorbeeld-app die door deze quickstart wordt gegenereerd, werkt

OWIN Middleware NuGet-pakkettenOWIN middleware NuGet packages

U kunt de verificatiepijplijn instellen met verificatie op basis van cookies met behulp van OpenID Connect in ASP.NET met OWIN Middleware-pakketten.You can set up the authentication pipeline with cookie-based authentication using OpenID Connect in ASP.NET with OWIN Middleware packages. U kunt deze pakketten installeren door de volgende opdrachten in de Package Manager Console van Visual Studio uit te voeren:You can install these packages by running the following commands in Visual Studio's Package Manager Console:

Install-Package Microsoft.Owin.Security.OpenIdConnect
Install-Package Microsoft.Owin.Security.Cookies
Install-Package Microsoft.Owin.Host.SystemWeb  

OWIN-opstartklasseOWIN Startup Class

De OWIN middleware maakt gebruik van een opstartklasse die wordt uitgevoerd wanneer het hostingproces wordt geïnitialiseerde.The OWIN middleware uses a startup class that runs when the hosting process initializes. In deze quickstart wordt het startup.cs bestand in de hoofdmap.In this quickstart, the startup.cs file located in root folder. De volgende code toont de parameter die wordt gebruikt door deze snelstart:The following code shows the parameter used by this quickstart:

public void Configuration(IAppBuilder app)
{
    app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);

    app.UseCookieAuthentication(new CookieAuthenticationOptions());
    app.UseOpenIdConnectAuthentication(
        new OpenIdConnectAuthenticationOptions
        {
            // Sets the ClientId, authority, RedirectUri as obtained from web.config
            ClientId = clientId,
            Authority = authority,
            RedirectUri = redirectUri,
            // PostLogoutRedirectUri is the page that users will be redirected to after sign-out. In this case, it is using the home page
            PostLogoutRedirectUri = redirectUri,
            Scope = OpenIdConnectScope.OpenIdProfile,
            // ResponseType is set to request the id_token - which contains basic information about the signed-in user
            ResponseType = OpenIdConnectResponseType.IdToken,
            // ValidateIssuer set to false to allow personal and work accounts from any organization to sign in to your application
            // To only allow users from a single organizations, set ValidateIssuer to true and 'tenant' setting in web.config to the tenant name
            // To allow users from only a list of specific organizations, set ValidateIssuer to true and use ValidIssuers parameter
            TokenValidationParameters = new TokenValidationParameters()
            {
                ValidateIssuer = false // Simplification (see note below)
            },
            // OpenIdConnectAuthenticationNotifications configures OWIN to send notification of failed authentications to OnAuthenticationFailed method
            Notifications = new OpenIdConnectAuthenticationNotifications
            {
                AuthenticationFailed = OnAuthenticationFailed
            }
        }
    );
}
WaarWhere
ClientId Toepassings-id van de toepassing die is geregistreerd in Azure PortalApplication ID from the application registered in the Azure portal
Authority Het STS-eindpunt voor de gebruiker voor verificatie.The STS endpoint for user to authenticate. Meestal https://login.microsoftonline.com/{tenant}/v2.0 voor openbare cloud, waarbij {tenant} de naam is van uw tenant, uw tenant-id of common voor een verwijzing naar het algemene eindpunt (gebruikt voor toepassingen met meerdere tenants)Usually https://login.microsoftonline.com/{tenant}/v2.0 for public cloud, where {tenant} is the name of your tenant, your tenant Id, or common for a reference to the common endpoint (used for multi-tenant applications)
RedirectUri URL waar gebruikers worden verzonden na verificatie tegen eindpunt van microsoft-identiteitsplatformURL where users are sent after authentication against Microsoft identity platform endpoint
PostLogoutRedirectUri URL waar gebruikers naartoe worden gestuurd na afmeldingURL where users are sent after signing-off
Scope De lijst met bereiken die wordt aangevraagd, gescheiden door spatiesThe list of scopes being requested, separated by spaces
ResponseType Aanvragen dat het antwoord van de verificatie een id-token bevatRequest that the response from authentication contains an ID token
TokenValidationParameters Een lijst met parameters voor de validatie van tokens.A list of parameters for token validation. In dit geval is ValidateIssuer ingesteld op false om aan te geven dat aanmeldingen vanaf persoonlijke, werk- of schoolaccounttypen kunnen worden geaccepteerdIn this case, ValidateIssuer is set to false to indicate that it can accept sign-ins from any personal, or work or school account types
Notifications Een lijst met gemachtigden die kunnen worden uitgevoerd in verschillende OpenIdConnect-berichtenA list of delegates that can be executed on different OpenIdConnect messages

Notitie

Instelling ValidateIssuer = false is een vereenvoudiging voor deze quickstart.Setting ValidateIssuer = false is a simplification for this quickstart. In echte toepassingen moet u de uitgever valideren.In real applications you need to validate the issuer. Zie de voorbeelden om te begrijpen hoe dat te doen.See the samples to understand how to do that.

Verificatievraag initiërenInitiate an authentication challenge

U kunt afdwingen dat een gebruiker zich aanmeldt door een verificatievraag aan te vragen in uw controller:You can force a user to sign in by requesting an authentication challenge in your controller:

public void SignIn()
{
    if (!Request.IsAuthenticated)
    {
        HttpContext.GetOwinContext().Authentication.Challenge(
            new AuthenticationProperties{ RedirectUri = "/" },
            OpenIdConnectAuthenticationDefaults.AuthenticationType);
    }
}

Tip

Het aanvragen van een verificatievraag met behulp van de bovenstaande methode is optioneel en wordt normaal gesproken gebruikt als u wilt dat een weergave toegankelijk is voor zowel geverifieerde als niet-geverifieerde gebruikers.Requesting an authentication challenge using the method above is optional and normally used when you want a view to be accessible from both authenticated and non-authenticated users. U kunt controllers ook beveiligen met behulp van de methode die wordt beschreven in de volgende sectie.Alternatively, you can protect controllers by using the method described in the next section.

Een controller of de methode van een controller beveiligenProtect a controller or a controller's method

U kunt een controller of controlleracties beveiligen met behulp van het kenmerk [Authorize].You can protect a controller or controller actions using the [Authorize] attribute. Dit kenmerk beperkt toegang tot de controller of acties door alleen geverifieerde gebruikers toegang toe te staan tot de acties in de controller, wat betekent dat de verificatievraag automatisch wordt uitgevoerd wanneer een niet-geverifieerde gebruiker toegang probeert te krijgen tot een van deze acties of controller die zijn voorzien van het kenmerk [Authorize].This attribute restricts access to the controller or actions by allowing only authenticated users to access the actions in the controller, which means that authentication challenge will happen automatically when a non-authenticated user tries to access one of the actions or controller decorated by the [Authorize] attribute.

Volgende stappenNext steps

Volg de ASP.NET-zelfstudie voor een volledige stapsgewijze handleiding voor het bouwen van toepassingen en nieuwe functies, met inbegrip van een volledige uitleg van deze snelstart.Try out the ASP.NET tutorial for a complete step-by-step guide on building applications and new features, including a full explanation of this quickstart.

De stappen voor het maken van de toepassing die wordt gebruikt in deze snelstartLearn the steps to create the application used in this quickstart

Help en ondersteuningHelp and support

Zie het volgende artikel als u hulp nodig hebt, een probleem wilt melden of meer over uw ondersteuningsopties wilt weten:If you need help, want to report an issue, or want to learn more about your support options, see the following article:

Help ons het Microsoft-identiteitsplatform te verbeteren.Help us improve the Microsoft identity platform. Vertel ons wat u ervan vindt door een korte enquête met twee vragen in te vullen.Tell us what you think by completing a short two-question survey.