Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Voor het ontwikkelen van nieuwe web-apps raden we minimale API's aan
We raden u aan de veiligste veilige verificatieoptie te gebruiken. Zie voor .NET-apps die zijn geïmplementeerd in Azure:
Azure Key Vault en .NET Aspire bieden de veiligste manier om geheimen op te slaan en op te halen. Azure Key Vault is een cloudservice waarmee versleutelingssleutels en geheimen, zoals certificaten, verbindingsreeksen en wachtwoorden, worden beschermd. Zie voor .NET Aspire Beveiligde communicatie tussen hosting en clientintegraties.
Vermijd de 'Resource Owner Password Credentials Grant', omdat dit het volgende doet:
- Stelt het wachtwoord van de gebruiker beschikbaar voor de client.
- Is een aanzienlijk beveiligingsrisico.
- Mag alleen worden gebruikt wanneer andere verificatiestromen niet mogelijk zijn.
Wanneer de app wordt geïmplementeerd op een testserver, kan een omgevingsvariabele worden gebruikt om de verbindingsreeks in te stellen op een testdatabaseserver. Omgevingsvariabelen worden over het algemeen opgeslagen in niet-versleutelde tekst. Als de machine of het proces is aangetast, kunnen omgevingsvariabelen worden geopend door niet-vertrouwde partijen. We raden af om omgevingsvariabelen te gebruiken om een productieverbindingsreeks op te slaan, aangezien dit niet de veiligste benadering is.
Richtlijnen voor configuratiegegevens:
- Sla nooit wachtwoorden of andere gevoelige gegevens op in configuratieprovidercode of in configuratiebestanden met tekst zonder opmaak.
- Gebruik geen productiegeheimen in ontwikkel- of testomgevingen.
- Geef geheimen buiten het project op, zodat ze niet per ongeluk kunnen worden doorgevoerd in een opslagplaats met broncode.
Visual Studio 2017 en ASP.NET 4.7.2 breiden de beveiligingsopties uit voor toepassingen (SPA) en web-API services voor integratie met externe verificatieservices, waaronder verschillende OAuth/OpenID- en sociale mediaverificatieservices: Microsoft-accounts, Twitter, Facebook en Google.
In deze walkthrough
Voorwaarden
Als u de voorbeelden in dit scenario wilt volgen, moet u het volgende hebben:
Visual Studio 2017
Een ontwikkelaarsaccount met de toepassings-id en geheime sleutel voor een van de volgende verificatieservices voor sociale media:
- Microsoft-Accounts (https://go.microsoft.com/fwlink/?LinkID=144070)
- Twitter (https://dev.twitter.com/)
- Facebook (https://developers.facebook.com/)
- Google (https://developers.google.com/)
Externe verificatieservices gebruiken
De overvloed aan externe verificatieservices die momenteel beschikbaar zijn voor webontwikkelaars, helpen bij het verminderen van de ontwikkelingstijd bij het maken van nieuwe webtoepassingen. Webgebruikers hebben doorgaans verschillende bestaande accounts voor populaire webservices en websites voor sociale media, dus wanneer een webtoepassing de verificatieservices van een externe webservice of sociale media-website implementeert, bespaart het de ontwikkelingstijd die zou zijn besteed aan het maken van een verificatie-implementatie. Als u een externe verificatieservice gebruikt, hoeven eindgebruikers geen ander account te maken voor uw webtoepassing en hoeven ze ook geen andere gebruikersnaam en wachtwoord te onthouden.
In het verleden hebben ontwikkelaars twee keuzes gehad: hun eigen verificatie-implementatie maken of leren hoe u een externe verificatieservice integreert in hun toepassingen. Op het meest elementaire niveau illustreert het volgende diagram een eenvoudige aanvraagstroom voor een gebruikersagent (webbrowser) die informatie aanvraagt van een webtoepassing die is geconfigureerd voor het gebruik van een externe verificatieservice:
In het voorgaande diagram doet de gebruikersagent (of webbrowser in dit voorbeeld) een aanvraag naar een webtoepassing, die de webbrowser omleidt naar een externe verificatieservice. De gebruikersagent verzendt zijn referenties naar de externe verificatieservice en als de gebruikersagent succesvol is geverifieerd, zal de externe verificatieservice de gebruikersagent naar de oorspronkelijke webtoepassing omleiden met een token, die de gebruikersagent naar de webtoepassing verzendt. De webtoepassing gebruikt het token om te controleren of de gebruikersagent is geverifieerd door de externe verificatieservice en de webtoepassing kan het token gebruiken om meer informatie over de gebruikersagent te verzamelen. Zodra de toepassing klaar is met het verwerken van de gegevens van de gebruikersagent, retourneert de webtoepassing het juiste antwoord op de gebruikersagent op basis van de autorisatie-instellingen.
In dit tweede voorbeeld onderhandelt de gebruikersagent met de webtoepassing en de externe autorisatieserver en voert de webtoepassing aanvullende communicatie uit met de externe autorisatieserver om aanvullende informatie over de gebruikersagent op te halen:
Visual Studio 2017 en ASP.NET 4.7.2 maken integratie met externe verificatieservices eenvoudiger voor ontwikkelaars door ingebouwde integratie te bieden voor de volgende verificatieservices:
- Microsoft-accounts (Windows Live ID-accounts)
De voorbeelden in dit scenario laten zien hoe u elk van de ondersteunde externe verificatieservices configureert met behulp van de nieuwe ASP.NET Web Application-sjabloon die wordt geleverd met Visual Studio 2017.
Notitie
Indien nodig moet u mogelijk uw FQDN toevoegen aan de instellingen voor uw externe verificatieservice. Deze vereiste is gebaseerd op beveiligingsbeperkingen voor sommige externe verificatieservices waarvoor de FQDN in uw toepassingsinstellingen moet overeenkomen met de FQDN die door uw clients wordt gebruikt. (De stappen hiervoor variëren sterk voor elke externe verificatieservice. Raadpleeg de documentatie voor elke externe verificatieservice om te zien of dit vereist is en hoe u deze instellingen configureert.) Als u IIS Express moet configureren voor het gebruik van een FQDN voor het testen van deze omgeving, raadpleegt u de IIS Express configureren voor het gebruik van een Fully Qualified Domain Name sectie verderop in deze procedure.
Een voorbeeldwebtoepassing maken
De volgende stappen leiden u door het maken van een voorbeeldtoepassing met behulp van de ASP.NET webapplicatiesjabloon, en u gebruikt deze voorbeeldtoepassing later in deze walkthrough voor elk van de externe authenticatiediensten.
Start Visual Studio 2017 en selecteer Nieuw project op de startpagina. Of selecteer in het menu BestandNieuw en dan Project.
Wanneer het dialoogvenster Nieuw project wordt weergegeven, selecteert u Geïnstalleerd en vouwt u Visual C#uit. Selecteer Webonder Visual C#. Selecteer ASP.NET Web Application (.Net Framework)in de lijst met projectsjablonen. Voer een naam in voor uw project en klik op OK.
Wanneer de Nieuwe ASP.NET Project- wordt weergegeven, selecteert u de sjabloon toepassing met één pagina en klikt u op Project-maken.
Wacht tot visual Studio 2017 uw project maakt.
Wanneer Visual Studio 2017 klaar is met het maken van uw project, opent u het Startup.Auth.cs bestand dat zich in de map App_Start bevindt.
Wanneer u het project voor het eerst maakt, worden geen van de externe verificatieservices ingeschakeld in Startup.Auth.cs bestand; hieronder ziet u hoe uw code eruit kan zien, met de secties gemarkeerd waar u een externe verificatieservice en eventuele relevante instellingen zou inschakelen om Microsoft-accounts, Twitter, Facebook of Google-verificatie te gebruiken met uw ASP.NET toepassing:
using System;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using Microsoft.AspNet.Identity.Owin;
using Microsoft.Owin;
using Microsoft.Owin.Security.Cookies;
using Microsoft.Owin.Security.DataProtection;
using Microsoft.Owin.Security.Google;
using Microsoft.Owin.Security.OAuth;
using Owin;
using WebApplication1.Models;
using WebApplication1.Providers;
namespace WebApplication1
{
public partial class Startup
{
// Enable the application to use OAuthAuthorization. You can then secure your Web APIs
static Startup()
{
PublicClientId = "web";
OAuthOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/Token"),
AuthorizeEndpointPath = new PathString("/Account/Authorize"),
Provider = new ApplicationOAuthProvider(PublicClientId),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
AllowInsecureHttp = true
};
}
public static OAuthAuthorizationServerOptions OAuthOptions { get; private set; }
public static string PublicClientId { get; private set; }
// For more information on configuring authentication, please visit https://go.microsoft.com/fwlink/?LinkId=301864
public void ConfigureAuth(IAppBuilder app)
{
// Configure the db context, user manager and signin manager to use a single instance per request
app.CreatePerOwinContext(ApplicationDbContext.Create);
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);
// Enable the application to use a cookie to store information for the signed in user
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
Provider = new CookieAuthenticationProvider
{
// Enables the application to validate the security stamp when the user logs in.
// This is a security feature which is used when you change a password or add an external login to your account.
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
validateInterval: TimeSpan.FromMinutes(20),
regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
}
});
// Use a cookie to temporarily store information about a user logging in with a third party login provider
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
// Enables the application to temporarily store user information when they are verifying the second factor in the two-factor authentication process.
app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5));
// Enables the application to remember the second login verification factor such as phone or email.
// Once you check this option, your second step of verification during the login process will be remembered on the device where you logged in from.
// This is similar to the RememberMe option when you log in.
app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie);
// Enable the application to use bearer tokens to authenticate users
app.UseOAuthBearerTokens(OAuthOptions);
// Uncomment the following lines to enable logging in with third party login providers
//app.UseMicrosoftAccountAuthentication(
// clientId: "",
// clientSecret: "");
//app.UseTwitterAuthentication(
// consumerKey: "",
// consumerSecret: "");
//app.UseFacebookAuthentication(
// appId: "",
// appSecret: "");
//app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions()
//{
// ClientId = "",
// ClientSecret = ""
//});
}
}
}
Wanneer u op F5 drukt om uw webtoepassing te bouwen en fouten op te sporen, wordt er een aanmeldingsscherm weergegeven waarin u ziet dat er geen externe verificatieservices zijn gedefinieerd.
In de volgende secties leert u hoe u elk van de externe verificatieservices inschakelt die worden geleverd met ASP.NET in Visual Studio 2017.
Facebook-verificatie inschakelen
Als u Facebook-verificatie gebruikt, moet u een Facebook-ontwikkelaarsaccount maken. Voor uw project is een toepassings-id en geheime sleutel van Facebook vereist om te kunnen functioneren. Zie https://go.microsoft.com/fwlink/?LinkID=252166voor informatie over het maken van een Facebook-ontwikkelaarsaccount en het verkrijgen van uw toepassings-id en geheime sleutel.
Zodra u uw toepassings-id en geheime sleutel hebt verkregen, gebruikt u de volgende stappen om Facebook-verificatie in te schakelen voor uw webtoepassing:
Wanneer uw project is geopend in Visual Studio 2017, opent u het Startup.Auth.cs-bestand.
Zoek de sectie Facebook-verificatie van de code:
// Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() //{ // ClientId = "", // ClientSecret = "" //});Verwijder de //-tekens om de opmerkingen bij de gemarkeerde coderegels te verwijderen en voeg vervolgens uw toepassings-id en geheime sleutel toe. Nadat u deze parameters hebt toegevoegd, kunt u het project opnieuw compileren:
// Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "426f62526f636b73", // appSecret: ""); //app.UseGoogleAuthentication();Wanneer u op F5 drukt om uw webtoepassing in uw webbrowser te openen, ziet u dat Facebook is gedefinieerd als een externe verificatieservice:
Wanneer u op de knop Facebook klikt, wordt uw browser omgeleid naar de Facebook-aanmeldingspagina:
Nadat u uw Facebook-referenties hebt ingevoerd en op Log inhebt geklikt, wordt uw webbrowser teruggeleid naar uw webtoepassing. Hier wordt u gevraagd om de gebruikersnaam die u wilt koppelen aan uw Facebook-account:
Nadat u uw gebruikersnaam hebt ingevoerd en op de knop Registreren hebt geklikt, wordt in uw webtoepassing de standaardpagina startpagina weergegeven voor uw Facebook-account:
Google-verificatie inschakelen
Als u Google-verificatie gebruikt, moet u een Google-ontwikkelaarsaccount maken. Voor uw project is een toepassings-id en geheime sleutel van Google vereist om te kunnen functioneren. Zie https://developers.google.comvoor informatie over het maken van een Google-ontwikkelaarsaccount en het verkrijgen van uw toepassings-id en geheime sleutel.
Gebruik de volgende stappen om Google-verificatie in te schakelen voor uw webtoepassing:
Wanneer uw project is geopend in Visual Studio 2017, opent u het Startup.Auth.cs-bestand.
Zoek de sectie Google-verificatie van de code:
// Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() //{ // ClientId = "", // ClientSecret = "" //});Verwijder de //-tekens om de opmerkingen bij de gemarkeerde coderegels te verwijderen en voeg vervolgens uw toepassings-id en geheime sleutel toe. Nadat u deze parameters hebt toegevoegd, kunt u het project opnieuw compileren:
// Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() { ClientId = "477522346600.apps.googleusercontent.com", ClientSecret = "gobkdpbocikdfbnfahjladnetpdkvmic" });Wanneer u op F5 drukt om uw webtoepassing in uw webbrowser te openen, ziet u dat Google is gedefinieerd als een externe verificatieservice:
Wanneer u op de knop Google klikt, wordt uw browser omgeleid naar de aanmeldingspagina van Google:
Nadat u uw Google-referenties hebt ingevoerd en op Aanmeldenklikt, wordt u gevraagd om te controleren of uw webtoepassing machtigingen heeft voor toegang tot uw Google-account:
Wanneer u op Accepterenklikt, wordt uw webbrowser teruggeleid naar uw webtoepassing. Hier wordt u gevraagd om de gebruikersnaam die u wilt koppelen aan uw Google-account:
Nadat u uw gebruikersnaam hebt ingevoerd en op de knop Registreren hebt geklikt, wordt in uw webtoepassing de standaardpagina startpagina weergegeven voor uw Google-account:
Microsoft-verificatie inschakelen
Voor Microsoft-verificatie moet u een ontwikkelaarsaccount maken en hiervoor is een client-id en clientgeheim vereist om te kunnen functioneren. Zie https://go.microsoft.com/fwlink/?LinkID=144070voor informatie over het maken van een Microsoft-ontwikkelaarsaccount en het verkrijgen van uw client-id en clientgeheim.
Zodra u uw consumentensleutel en consumentengeheim hebt verkregen, gebruikt u de volgende stappen om Microsoft-verificatie in te schakelen voor uw webtoepassing:
Wanneer uw project is geopend in Visual Studio 2017, opent u het Startup.Auth.cs-bestand.
Zoek de Microsoft-authenticatiesectie van de code:
// Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() //{ // ClientId = "", // ClientSecret = "" //});Verwijder de tekens '//' om de opmerkingen bij de gemarkeerde coderegels te verwijderen en voeg vervolgens uw client-id en clientgeheim toe. Nadat u deze parameters hebt toegevoegd, kunt u het project opnieuw compileren:
// Uncomment the following lines to enable logging in with third party login providers app.UseMicrosoftAccountAuthentication( clientId: "426f62526f636b73", clientSecret: "57686f6120447564652c2049495320526f636b73"); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() //{ // ClientId = "", // ClientSecret = "" //});Wanneer u op F5 drukt om uw webtoepassing in uw webbrowser te openen, ziet u dat Microsoft is gedefinieerd als een externe verificatieservice:
Wanneer u op de knop Microsoft klikt, wordt uw browser omgeleid naar de aanmeldingspagina van Microsoft:
Nadat u uw Microsoft-referenties hebt ingevoerd en op Aanmeldenklikt, wordt u gevraagd om te controleren of uw webtoepassing machtigingen heeft voor toegang tot uw Microsoft-account:
Wanneer u op Jaklikt, wordt uw webbrowser teruggeleid naar uw webtoepassing. Hier wordt u gevraagd om de gebruikersnaam die u aan uw Microsoft-account wilt koppelen:
Nadat u uw gebruikersnaam hebt ingevoerd en op de knop Registreren hebt geklikt, wordt in uw webtoepassing de standaardpagina startpagina weergegeven voor uw Microsoft-account:
Twitter-verificatie inschakelen
Voor Twitter-verificatie moet u een ontwikkelaarsaccount maken en hiervoor is een consumentensleutel en consumentengeheim vereist om te kunnen functioneren. Zie https://go.microsoft.com/fwlink/?LinkID=252166voor informatie over het maken van een Twitter-ontwikkelaarsaccount en het verkrijgen van uw consumentensleutel en consumentengeheim.
Zodra u uw consumentensleutel en consumentengeheim hebt verkregen, gebruikt u de volgende stappen om Twitter-verificatie in te schakelen voor uw webtoepassing:
Wanneer uw project is geopend in Visual Studio 2017, opent u het Startup.Auth.cs-bestand.
Zoek de twitter-verificatiesectie van de code:
// Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() //{ // ClientId = "", // ClientSecret = "" //});Verwijder de tekens '//' om de opmerkingen bij de gemarkeerde coderegels te verwijderen en voeg vervolgens uw consumentensleutel en consumentengeheim toe. Nadat u deze parameters hebt toegevoegd, kunt u het project opnieuw compileren:
// Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); app.UseTwitterAuthentication( consumerKey: "426f62526f636b73", consumerSecret: "57686f6120447564652c2049495320526f636b73"); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() //{ // ClientId = "", // ClientSecret = "" //});Wanneer u op F5 drukt om uw webtoepassing in uw webbrowser te openen, ziet u dat Twitter is gedefinieerd als een externe verificatieservice:
Wanneer u op de knop Twitter klikt, wordt uw browser omgeleid naar de aanmeldingspagina van Twitter:
Nadat u uw Twitter-referenties hebt ingevoerd en op App autoriserenhebt geklikt, wordt uw webbrowser teruggeleid naar uw webtoepassing. Hier wordt u gevraagd om de gebruikersnaam die u wilt koppelen aan uw Twitter-account:
Nadat u uw gebruikersnaam hebt ingevoerd en op de knop Registreren hebt geklikt, wordt in uw webtoepassing de standaardpagina startpagina weergegeven voor uw Twitter-account:
Aanvullende informatie
Zie de volgende URL's voor meer informatie over het maken van toepassingen die gebruikmaken van OAuth en OpenID:
Externe verificatieservices combineren
Voor meer flexibiliteit kunt u meerdere externe verificatieservices tegelijk definiëren. Hierdoor kunnen de gebruikers van uw webtoepassing een account van een van de ingeschakelde externe verificatieservices gebruiken:
IIS Express configureren voor het gebruik van een volledig gekwalificeerde domeinnaam
Sommige externe verificatieproviders ondersteunen het testen van uw toepassing niet met behulp van een HTTP-adres zoals http://localhost:port/. U kunt dit probleem omzeilen door een statische FQDN-toewijzing (Fully Qualified Domain Name) toe te voegen aan uw HOSTS-bestand en de projectopties in Visual Studio 2017 te configureren om de FQDN te gebruiken voor testen/foutopsporing. Gebruik hiervoor de volgende stappen:
Voeg een statische FQDN-toewijzing toe aan uw HOSTS-bestand:
Open een opdrachtprompt met verhoogde bevoegdheid in Windows.
Typ de volgende opdracht:
kladblok %WinDir%\system32\drivers\etc\hosts
Voeg een vermelding als de volgende toe aan het HOSTS-bestand:
127.0.0.1 www.wingtiptoys.com
Sla het HOSTS-bestand op en sluit het.
Configureer uw Visual Studio-project om de FQDN te gebruiken:
- Wanneer uw project is geopend in Visual Studio 2017, klikt u op het menu Project en selecteert u de eigenschappen van uw project. U kunt bijvoorbeeld WebApplication1 Eigenschappenselecteren.
- Selecteer het tabblad Web.
- Voer uw FQDN in voor de Project-URL. U voert bijvoorbeeld http://www.wingtiptoys.com in als dat de FQDN-toewijzing was die u hebt toegevoegd aan uw HOSTS-bestand.
Configureer IIS Express voor het gebruik van de FQDN voor uw toepassing:
Open een opdrachtprompt met verhoogde bevoegdheid in Windows.
Typ het volgende commando om naar uw IIS Express-map te gaan:
cd /d "%ProgramFiles%\IIS Express"
Typ de volgende opdracht om de FQDN toe te voegen aan uw toepassing:
appcmd.exe configuratie instellen -section:system.applicationHost/sites /+"[name='WebApplication1'].bindingen.[protocol='http',bindingInformation='*:80:www.wingtiptoys.com']" /commit:apphost
Waar WebApplication1 de naam van uw project is en bindingInformation- het poortnummer en de FQDN bevat die u wilt gebruiken voor uw test.
Uw toepassingsinstellingen voor Microsoft-verificatie verkrijgen
Het koppelen van een toepassing aan Windows Live voor Microsoft-verificatie is een eenvoudig proces. Als u nog geen toepassing aan Windows Live hebt gekoppeld, kunt u de volgende stappen uitvoeren:
Blader naar https://go.microsoft.com/fwlink/?LinkID=144070 en voer de naam en het wachtwoord van uw Microsoft-account in wanneer u hierom wordt gevraagd. Klik vervolgens op Aanmelden:
Selecteer Een app- toevoegen en voer de naam van uw toepassing in wanneer u hierom wordt gevraagd en klik vervolgens op maken:
Selecteer uw app onder Naam en de bijbehorende pagina met toepassingseigenschappen wordt weergegeven.
Voer het omleidingsdomein voor uw toepassing in. Kopieer de toepassings-id en selecteer onder ToepassingsgeheimenWachtwoord genereren. Kopieer het wachtwoord dat wordt weergegeven. De toepassings-id en het wachtwoord zijn uw client-id en clientgeheim. Selecteer OK- en opslaan.
Optioneel: Lokale registratie uitschakelen
De huidige ASP.NET lokale registratiefunctionaliteit voorkomt niet dat geautomatiseerde programma's (bots) lidaccounts maken; Bijvoorbeeld door een botpreventie- en validatietechnologie zoals CAPTCHA-te gebruiken. Daarom moet u het lokale aanmeldingsformulier en de registratiekoppeling op de aanmeldingspagina verwijderen. Hiervoor opent u de pagina _Login.cshtml in uw project en markeert u de regels voor het lokale aanmeldingsvenster en de registratiekoppeling. De resulterende pagina moet eruitzien als het volgende codevoorbeeld:
<!-- ko with: login -->
<hgroup class="title">
<h1>Log in</h1>
</hgroup>
<div class="row-fluid">
@*<section class="span7">
<form>
<fieldset class="form-horizontal">
<legend>Use a local account to log in.</legend>
<ul class="text-error" data-bind="foreach: errors">
<li data-bind="text: $data"></li>
</ul>
<div class="control-group">
<label for="UserName" class="control-label">User name</label>
<div class="controls">
<input type="text" name="UserName" data-bind="value: userName, hasFocus: true" />
<span class="text-error" data-bind="visible: userName.hasError, text: userName.errorMessage"></span>
</div>
</div>
<div class="control-group">
<label for="Password" class="control-label">Password</label>
<div class="controls">
<input type="password" name="Password" data-bind="value: password" />
<span class="text-error" data-bind="visible: password.hasError, text: password.errorMessage"></span>
</div>
</div>
<div class="control-group">
<div class="controls">
<label class="checkbox">
<input type="checkbox" name="RememberMe" data-bind="checked: rememberMe" />
<label for="RememberMe">Remember me?</label>
</label>
</div>
</div>
<div class="form-actions no-color">
<button type="submit" class="btn" data-bind="click: login, disable: loggingIn">Log in</button>
</div>
<p><a href="#" data-bind="click: register">Register</a> if you don't have a local account.</p>
</fieldset>
</form>
</section>*@
<section class="span5">
<h2>Log in using another service</h2>
<div data-bind="visible: loadingExternalLogin">Loading...</div>
<div data-bind="visible: !loadingExternalLogin()">
<div class="message-info" data-bind="visible: !hasExternalLogin()">
<p>
There are no external authentication services configured. See <a href="https://go.microsoft.com/fwlink/?LinkId=252166">this article</a>
for details on setting up this ASP.NET application to support logging in via external services.
</p>
</div>
<form data-bind="visible: hasExternalLogin">
<fieldset class="form-horizontal">
<legend>Use another service to log in.</legend>
<p data-bind="foreach: externalLoginProviders">
<button type="submit" class="btn" data-bind="text: name, attr: { title: 'Log in using your ' + name() + ' account' }, click: login"></button>
</p>
</fieldset>
</form>
</div>
</section>
</div>
<!-- /ko -->
Zodra het lokale aanmeldingsvenster en de registratiekoppeling zijn uitgeschakeld, worden op uw aanmeldingspagina alleen de externe verificatieproviders weergegeven die u hebt ingeschakeld: