Créer une application ASP.NET MVC 5 avec authentification OAuth2 Facebook, Twitter, LinkedIn et Google (C#)Create an ASP.NET MVC 5 App with Facebook, Twitter, LinkedIn and Google OAuth2 Sign-on (C#)

par Rick Andersonby Rick Anderson

Ce didacticiel vous montre comment créer une application web ASP.NET MVC 5 qui permet aux utilisateurs de se connecter à l’aide de OAuth 2.0 avec informations d’identification à partir d’un fournisseur d’authentification externes, tels que Facebook, Twitter, LinkedIn, Microsoft ou Google.This tutorial shows you how to build an ASP.NET MVC 5 web application that enables users to log in using OAuth 2.0 with credentials from an external authentication provider, such as Facebook, Twitter, LinkedIn, Microsoft, or Google. Par souci de simplicité, ce didacticiel se concentre sur l’utilisation des informations d’identification à partir de Facebook et Google.For simplicity, this tutorial focuses on working with credentials from Facebook and Google.

L’activation de ces informations d’identification dans vos sites web de fournit un avantage significatif, car des millions d’utilisateurs disposent déjà de comptes avec ces fournisseurs externes.Enabling these credentials in your web sites provides a significant advantage because millions of users already have accounts with these external providers. Ces utilisateurs peuvent être plus de chances de s’inscrire à votre site si elles n’ont pas à créer et à mémoriser un nouvel ensemble d’informations d’identification.These users may be more inclined to sign up for your site if they do not have to create and remember a new set of credentials.

Voir aussi application ASP.NET MVC 5 avec SMS et e-mail d’authentification à deux facteurs.See also ASP.NET MVC 5 app with SMS and email Two-Factor Authentication.

Le didacticiel montre également comment ajouter des données de profil pour l’utilisateur et comment utiliser l’API d’appartenance pour ajouter des rôles.The tutorial also shows how to add profile data for the user, and how to use the Membership API to add roles. Ce didacticiel a été écrit par Rick Anderson (Veuillez me suivre sur Twitter : @RickAndMSFT ).This tutorial was written by Rick Anderson ( Please follow me on Twitter: @RickAndMSFT ).

Prise en mainGetting Started

Démarrez en installant et en cours d’exécution Visual Studio Express 2013 pour le Web ou Visual Studio 2013.Start by installing and running Visual Studio Express 2013 for Web or Visual Studio 2013. Installer Visual Studio 2013 Update 3 ou une version ultérieure.Install Visual Studio 2013 Update 3 or higher. Pour l’aide auprès de Dropbox, GitHub, Linkedin, Instagram, mémoire tampon, Salesforce, vapeur, Stack Exchange, Tripit, Twitch, Twitter, Yahoo! et bien plus encore, consultez ce exemple de projet.For help with Dropbox, GitHub, Linkedin, Instagram, Buffer, Salesforce, STEAM, Stack Exchange, Tripit, Twitch, Twitter, Yahoo!, and more, see this sample project.

Note

Vous devez installer Visual Studio 2013 Update 3 ou une version ultérieure pour utiliser Google OAuth 2 et déboguer localement sans avertissements de SSL.You must install Visual Studio 2013 Update 3 or higher to use Google OAuth 2 and to debug locally without SSL warnings.

Cliquez sur nouveau projet à partir de la Démarrer page, ou vous pouvez utiliser le menu et sélectionnez fichier, puis nouveau projet.Click New Project from the Start page, or you can use the menu and select File, and then New Project.

Créer votre première ApplicationCreating Your First Application

Cliquez sur nouveau projet, puis sélectionnez Visual C# sur la gauche, puis Web , puis sélectionnez Application Web ASP.NET.Click New Project, then select Visual C# on the left, then Web and then select ASP.NET Web Application. Nommez votre projet « MvcAuth », puis OK.Name your project "MvcAuth" and then click OK.

Dans le nouveau projet ASP.NET boîte de dialogue, cliquez sur MVC.In the New ASP.NET Project dialog, click MVC. Si l’authentification n’est pas comptes d’utilisateur individuels, cliquez sur le modifier l’authentification bouton et sélectionnez comptes d’utilisateur individuels.If the Authentication is not Individual User Accounts, click the Change Authentication button and select Individual User Accounts. En vérifiant hôte dans le cloud, l’application sera très facile à héberger dans Azure.By checking Host in the cloud, the app will be very easy to host in Azure.

Si vous avez sélectionné hôte dans le cloud, renseignez la boîte de dialogue Configurer.If you selected Host in the cloud, complete the configure dialog.

Utilisez NuGet pour mettre à jour vers la dernière intergiciel (middleware) OWINUse NuGet to update to the latest OWIN middleware

Utilisez le Gestionnaire de package NuGet pour mettre à jour le intergiciel (middleware) OWIN.Use the NuGet package manager to update the OWIN middleware. Sélectionnez mises à jour dans le menu de gauche.Select Updates in the left menu. Vous pouvez cliquer sur le tout mettre à jour bouton ou vous pouvez rechercher uniquement les packages OWIN (illustrés dans l’image suivante) :You can click on the Update All button or you can search for only OWIN packages (shown in the next image):

Dans l’image ci-dessous, seuls les packages OWIN sont affichés :In the image below, only OWIN packages are shown:

À partir de la Manager Console (package), vous pouvez entrer la Update-Package commande qui met à jour tous les packages.From the Package Manager Console (PMC), you can enter the Update-Package command, which will update all packages.

Appuyez sur F5 ou Ctrl + F5 pour exécuter l’application.Press F5 or Ctrl+F5 to run the application. Dans l’image ci-dessous, le numéro de port est 1234.In the image below, the port number is 1234. Lorsque vous exécutez l’application, vous verrez un numéro de port différent.When you run the application, you'll see a different port number.

Selon la taille de la fenêtre du navigateur, vous devrez peut-être cliquer sur l’icône de navigation pour afficher le accueil, sur, Contact, inscrireet connectez-vous des liens.Depending on the size of your browser window, you might need to click the navigation icon to see the Home, About, Contact, Register and Log in links.


Configuration de SSL dans le projetSetting up SSL in the Project

Pour vous connecter aux fournisseurs d’authentification tels que Google et Facebook, vous devez configurer IIS Express pour utiliser SSL.To connect to authentication providers like Google and Facebook, you will need to set up IIS-Express to use SSL. Il est important de garder à l’aide de SSL une fois la connexion et pas retomber sur HTTP, votre cookie de connexion est simplement en tant que secret en tant que votre nom d’utilisateur et le mot de passe et sans utiliser SSL que vous l’envoyez en texte clair sur le réseau.It's important to keep using SSL after login and not drop back to HTTP, your login cookie is just as secret as your username and password, and without using SSL you're sending it in clear-text across the wire. En outre, vous avez déjà pris le temps d’effectuer la négociation et de sécuriser le canal (c'est-à-dire la majeure partie de ce qui rend HTTPS plus lent que HTTP) avant l’exécution, le pipeline MVC donc redirection vers HTTP une fois que vous êtes connecté ne rendre la requête actuelle ou le futur demandes beaucoup plus rapides.Besides, you've already taken the time to perform the handshake and secure the channel (which is the bulk of what makes HTTPS slower than HTTP) before the MVC pipeline is run, so redirecting back to HTTP after you're logged in won't make the current request or future requests much faster.

  1. Dans l’Explorateur de solutions, cliquez sur le MvcAuth projet.In Solution Explorer, click the MvcAuth project.

  2. Appuyez sur la touche F4 pour afficher les propriétés du projet.Hit the F4 key to show the project properties. Vous pouvez également, à partir de la vue menu que vous pouvez sélectionner fenêtre Propriétés.Alternatively, from the View menu you can select Properties Window.

  3. Modification SSL activé sur True.Change SSL Enabled to True.

  4. Copiez l’URL SSL (qui sera https://localhost:44300/ , sauf si vous avez créé d’autres projets SSL).Copy the SSL URL (which will be https://localhost:44300/ unless you've created other SSL projects).

  5. Dans l’Explorateur de solutions, avec le bouton droit cliquez sur le MvcAuth de projet et sélectionnez propriétés.In Solution Explorer, right click the MvcAuth project and select Properties.

  6. Sélectionnez le Web onglet et collez l’URL SSL dans le Url du projet boîte.Select the Web tab, and then paste the SSL URL into the Project Url box. Enregistrez le fichier (CTRL + S).Save the file (Ctl+S). Vous aurez besoin de cette URL à configurer des applications de l’authentification Facebook et Google.You will need this URL to configure Facebook and Google authentication apps.

  7. Ajouter le RequireHttps attribut le Home contrôleur pour toutes les demandes doit utiliser HTTPS.Add the RequireHttps attribute to the Home controller to require all requests must use HTTPS. Une approche plus sécurisée consiste à ajouter le RequireHttps filtre à l’application.A more secure approach is to add the RequireHttps filter to the application. Consultez la section "protéger l’Application avec SSL et l’attribut autoriser" dans mon didacticiel créer une application ASP.NET MVC avec authentification et base de données SQL et la déployer sur Azure App Service.See the section "Protect the Application with SSL and the Authorize Attribute" in my tutorial Create an ASP.NET MVC app with auth and SQL DB and deploy to Azure App Service. Vous trouverez ci-dessous une partie du contrôleur Home.A portion of the Home controller is shown below.

    [RequireHttps]
    public class HomeController : Controller
    {
       public ActionResult Index()
       {
          return View();
       }
    
  8. Appuyez sur CTRL+F5 pour exécuter l'application.Press CTRL+F5 to run the application. Si vous avez installé le certificat dans le passé, vous pouvez ignorer le reste de cette section et passer à création d’une application Google pour oauth2 et de connexion de l’application au projet, dans le cas contraire, suivez les instructions pour approuver l’auto-signé certificat IIS Express a généré.If you've installed the certificate in the past, you can skip the rest of this section and jump to Creating a Google app for OAuth 2 and connecting the app to the project, otherwise, follow the instructions to trust the self-signed certificate that IIS Express has generated.

  9. Lire le avertissement de sécurité boîte de dialogue, puis cliquez sur Oui si vous souhaitez installer le certificat représentant localhost.Read the Security Warning dialog and then click Yes if you want to install the certificate representing localhost.

  10. IE affiche la accueil page et aucun avertissement SSL.IE shows the Home page and there are no SSL warnings.

  11. En outre, Google Chrome accepte le certificat et affiche le contenu HTTPS sans avertissement.Google Chrome also accepts the certificate and will show HTTPS content without a warning. Firefox utilise son propre magasin de certificats, par conséquent, il contient un avertissement.Firefox uses its own certificate store, so it will display a warning. Pour notre application vous pouvez cliquer en toute sécurité sur conscient des risques de.For our application you can safely click I Understand the Risks.

Création d’une application Google pour oauth2 et de connexion de l’application au projetCreating a Google app for OAuth 2 and connecting the app to the project

Warning

Pour obtenir des instructions de Google OAuth actuelles, consultez Google de configuration de l’authentification dans ASP.NET Core.For current Google OAuth instructions, see Configuring Google authentication in ASP.NET Core.

  1. Accédez à la Google Developers Console.Navigate to the Google Developers Console.

  2. Si vous n’avez pas créé un projet avant, sélectionnez informations d’identification dans l’onglet gauche, puis sélectionnez créer.If you haven't created a project before, select Credentials in the left tab, and then select Create.

  3. Dans l’onglet gauche, cliquez sur informations d’identification.In the left tab, click Credentials.

  4. Cliquez sur créer les informations d’identification puis ID client OAuth.Click Create credentials then OAuth client ID.

    1. Dans le créer un identifiant Client boîte de dialogue, conservez la valeur par défaut application Web pour le type d’application.In the Create Client ID dialog, keep the default Web application for the application type.
    2. Définir le JavaScript autorisé origines à l’URL SSL que vous avez utilisé ci-dessus (https://localhost:44300/ , sauf si vous avez créé d’autres projets SSL)Set the Authorized JavaScript origins to the SSL URL you used above (https://localhost:44300/ unless you've created other SSL projects)
    3. Définir le URI de redirection autorisés à :Set the Authorized redirect URI to:
      https://localhost:44300/signin-google
  5. Cliquez sur l’élément de menu de consentement OAuth écran, puis définissez votre nom de produit et l’adresse de messagerie.Click the OAuth Consent screen menu item, then set your email address and product name. Lorsque vous avez complété le formulaire, cliquez enregistrer.When you have completed the form click Save.

  6. Cliquez sur l’élément de menu de bibliothèque, rechercher API Google +, cliquez dessus, puis appuyez sur Activer.Click the Library menu item, search Google+ API, click on it then press Enable.

    L’image ci-dessous montre les API est activées.The image below shows the enabled APIs.

  7. À partir du Gestionnaire d’API Google API, visitez le informations d’identification tab pour obtenir le ID Client.From the Google APIs API Manager, visit the Credentials tab to obtain the Client ID. Téléchargement pour enregistrer un fichier JSON avec des secrets d’application.Download to save a JSON file with application secrets. Copiez et collez le ClientId et ClientSecret dans le UseGoogleAuthentication méthode trouvée dans le Startup.Auth.cs de fichiers dans le App_Start dossier.Copy and paste the ClientId and ClientSecret into the UseGoogleAuthentication method found in the Startup.Auth.cs file in the App_Start folder. Le ClientId et ClientSecret valeurs indiquées ci-dessous sont des exemples et ne fonctionnent pas.The ClientId and ClientSecret values shown below are samples and don't work.

    public void ConfigureAuth(IAppBuilder app)
    {
        // Configure the db context and user manager to use a single instance per request
        app.CreatePerOwinContext(ApplicationDbContext.Create);
        app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
    
        // Enable the application to use a cookie to store information for the signed in user
        // and to use a cookie to temporarily store information about a user logging in with a third party login provider
        // Configure the sign in cookie
        app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
            LoginPath = new PathString("/Account/Login"),
            Provider = new CookieAuthenticationProvider
            {
                OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
                    validateInterval: TimeSpan.FromMinutes(30),
                    regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
            }
        });
        
        app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
    
        // 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(
             clientId: "000-000.apps.googleusercontent.com",
             clientSecret: "00000000000");
    }
    

    Warning

    Sécurité - Ne jamais stocker de données sensibles dans votre code source.Security - Never store sensitive data in your source code. Le compte et les informations d’identification sont ajoutées au code ci-dessus pour que l’exemple reste simple.The account and credentials are added to the code above to keep the sample simple. Consultez meilleures pratiques pour le déploiement des mots de passe et autres données sensibles sur ASP.NET et Azure App Service.See Best practices for deploying passwords and other sensitive data to ASP.NET and Azure App Service.

  8. Appuyez sur CTRL + F5 pour générer et exécuter l’application.Press CTRL+F5 to build and run the application. Cliquez sur le connectez-vous lien.Click the Log in link.

  9. Sous utiliser un autre service pour vous connecter, cliquez sur Google.Under Use another service to log in, click Google.

    Note

    Si vous omettez une des étapes ci-dessus, vous obtiendrez une erreur HTTP 401.If you miss any of the steps above you will get a HTTP 401 error. Vérifiez à nouveau les étapes ci-dessus.Recheck your steps above. Si vous omettez un paramètre requis (par exemple nom de produit), ajoutez l’élément manquant et enregistrer ; peut prendre quelques minutes pour l’authentification fonctionne.If you miss a required setting (for example product name), add the missing item and save; it can take a few minutes for authentication to work.

  10. Vous êtes redirigé vers le site Google où vous entrez vos informations d’identification.You will be redirected to the Google site where you will enter your credentials.

  11. Après avoir entré vos informations d’identification, vous devrez accorder des autorisations à l’application web que vous venez de créer :After you enter your credentials, you will be prompted to give permissions to the web application you just created:

  12. Cliquez sur accepter.Click Accept. Vous allez maintenant être redirigé vers le inscrire page de l’application MvcAuth où vous pouvez inscrire votre compte Google.You will now be redirected back to the Register page of the MvcAuth application where you can register your Google account. Vous avez la possibilité de modifier le nom d’inscription local utilisé pour votre compte Gmail, mais il est généralement conseillé de conserver l’alias de messagerie électronique par défaut (autrement dit, celui utilisé pour l’authentification).You have the option of changing the local email registration name used for your Gmail account, but you generally want to keep the default email alias (that is, the one you used for authentication). Cliquez sur Register.Click Register.

Création de l’application dans Facebook et la connexion de l’application au projetCreating the app in Facebook and connecting the app to the project

Warning

Pour obtenir des instructions de l’authentification Facebook OAuth2 actuelles, consultez l’authentification Facebook de configurationFor current Facebook OAuth2 authentication instructions, see Configuring Facebook authentication

Examiner les données d’appartenanceExamine the Membership Data

Dans le vue menu, cliquez sur Explorateur de serveurs.In the View menu, click Server Explorer.

Développez DefaultConnection (MvcAuth), développez Tables, avec le bouton droit cliquez sur AspNetUsers et cliquez sur afficher les données de Table.Expand DefaultConnection (MvcAuth), expand Tables, right click AspNetUsers and click Show Table Data.

données de la table aspnetusers

Ajout de données de profil à la classe d’utilisateurAdding Profile Data to the User Class

Dans cette section vous allez ajouter une date de naissance et ville natale aux données utilisateur pendant l’inscription, comme illustré dans l’image suivante.In this section you'll add birth date and home town to the user data during registration, as shown in the following image.

reg avec ville natale et Anniv.

Ouvrez le Models\IdentityModels.cs fichier, puis ajoutez les propriétés de ville accueil et de la date de naissance :Open the Models\IdentityModels.cs file and add birth date and home town properties:

public class ApplicationUser : IdentityUser
{
    public string HomeTown { get; set; }
    public System.DateTime? BirthDate { get; set; }
    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
    {
        // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
        var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
        // Add custom user claims here
        return userIdentity;
    }
}

Ouvrez le Models\AccountViewModels.cs fichier et l’ensemble de date et accueil des propriétés de ville dans naissance ExternalLoginConfirmationViewModel.Open the Models\AccountViewModels.cs file and the set birth date and home town properties in ExternalLoginConfirmationViewModel.

public class ExternalLoginConfirmationViewModel
{
    [Required]
    [EmailAddress]
    [Display(Name = "Email")]
    public string Email { get; set; }

    public string HomeTown { get; set; }
    public System.DateTime? BirthDate { get; set; }
}

Ouvrez le controllers\accountcontroller.cs fichier, puis ajoutez le code pour la ville de date et d’accueil de naissance dans la ExternalLoginConfirmation méthode d’action comme illustré :Open the Controllers\AccountController.cs file and add code for birth date and home town in the ExternalLoginConfirmation action method as shown:

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
{
    if (User.Identity.IsAuthenticated)
    {
        return RedirectToAction("Manage");
    }

    if (ModelState.IsValid)
    {
        // Get the information about the user from the external login provider
        var info = await AuthenticationManager.GetExternalLoginInfoAsync();
        if (info == null)
        {
            return View("ExternalLoginFailure");
        }
        var user = new ApplicationUser() 
        {
            UserName = model.Email, Email = model.Email,
            BirthDate = model.BirthDate,
            HomeTown  = model.HomeTown
        
        };
        IdentityResult result = await UserManager.CreateAsync(user);
        if (result.Succeeded)
        {
            result = await UserManager.AddLoginAsync(user.Id, info.Login);
            if (result.Succeeded)
            {
                await SignInAsync(user, isPersistent: false);
                
                // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                // Send an email with this link
                // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                // SendEmail(user.Email, callbackUrl, "Confirm your account", "Please confirm your account by clicking this link");
                
                return RedirectToLocal(returnUrl);
            }
        }
        AddErrors(result);
    }

    ViewBag.ReturnUrl = returnUrl;
    return View(model);
}

Ajouter la date de naissance et ville natale à la Views\Account\ExternalLoginConfirmation.cshtml fichier :Add birth date and home town to the Views\Account\ExternalLoginConfirmation.cshtml file:

@model MvcAuth.Models.ExternalLoginConfirmationViewModel
@{
    ViewBag.Title = "Register";
}
<h2>@ViewBag.Title.</h2>
<h3>Associate your @ViewBag.LoginProvider account.</h3>

@using (Html.BeginForm("ExternalLoginConfirmation", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{
    @Html.AntiForgeryToken()

    <h4>Association Form</h4>
    <hr />
    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
    <p class="text-info">
        You've successfully authenticated with <strong>@ViewBag.LoginProvider</strong>.
            Please enter a user name for this site below and click the Register button to finish
            logging in.
    </p>
    <div class="form-group">
        @Html.LabelFor(m => m.Email, new { @class = "col-md-2 control-label" })
        <div class="col-md-10">
            @Html.TextBoxFor(m => m.Email, new { @class = "form-control" })
            @Html.ValidationMessageFor(m => m.Email, "", new { @class = "text-danger" })
        </div>
    </div>
    <div class="form-group">
        @Html.LabelFor(m => m.HomeTown, new { @class = "col-md-2 control-label" })
        <div class="col-md-10">
            @Html.TextBoxFor(m => m.HomeTown, new { @class = "form-control" })
            @Html.ValidationMessageFor(m => m.HomeTown)
        </div>
    </div>
    <div class="form-group">
        @Html.LabelFor(m => m.BirthDate, new { @class = "col-md-2 control-label" })
        <div class="col-md-10">
            @Html.TextBoxFor(m => m.BirthDate, new { @class = "form-control" })
            @Html.ValidationMessageFor(m => m.BirthDate)
        </div>
    </div>
    <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" class="btn btn-default" value="Register" />
        </div>
    </div>
}

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

Supprimer la base de données d’appartenance afin de pouvoir à nouveau enregistrer votre compte Facebook avec votre application et vérifiez que vous pouvez ajouter la nouvelle date de naissance et les informations de profil de ville natale.Delete the membership database so you can again register your Facebook account with your application and verify you can add the new birth date and home town profile information.

À partir de l’Explorateur de solutions, cliquez sur le afficher tous les fichiers icône, puis clic droit ajouter_Data\aspnet-MvcAuth -<date>.mdf et cliquez sur supprimer.From Solution Explorer, click the Show All Files icon, then right click Add_Data\aspnet-MvcAuth-<dateStamp>.mdf and click Delete.

À partir de la outils menu, cliquez sur Gestionnaire de Package NuGet, puis cliquez sur Console du Gestionnaire de Package (PMC).From the Tools menu, click NuGet Package Manger, then click Package Manager Console (PMC). Entrez les commandes suivantes dans PMC.Enter the following commands in the PMC.

  1. Enable-MigrationsEnable-Migrations
  2. Add-Migration InitAdd-Migration Init
  3. Mise à jour la base de donnéesUpdate-Database

Exécutez l’application et utiliser FaceBook et Google pour vous connecter et inscrire certains utilisateurs.Run the application and use FaceBook and Google to log in and register some users.

Examiner les données d’appartenanceExamine the Membership Data

Dans le vue menu, cliquez sur Explorateur de serveurs.In the View menu, click Server Explorer.

Bouton droit sur AspNetUsers et cliquez sur afficher les données de Table.Right click AspNetUsers and click Show Table Data.

Le HomeTown et BirthDate champs sont affichés ci-dessous.The HomeTown and BirthDate fields are shown below.

Déconnecter votre application, puis connectez-vous avec un autre compteLogging off your App and Logging in With Another Account

Si vous ouvrez une session sur votre application avec Facebook et puis déconnectez-vous et réessayez de vous connecter à nouveau avec un autre compte Facebook (à l’aide du même navigateur), vous serez immédiatement connecté pour le compte Facebook précédent que vous avez utilisé.If you log on to your app with Facebook,, and then log out and try to log in again with a different Facebook account (using the same browser), you will be immediately logged in to the previous Facebook account you used. Pour utiliser un autre compte, vous devez accéder à Facebook et se déconnecter à Facebook.In order to use another account, you need to navigate to Facebook and log out at Facebook. La même règle s’applique à n’importe quel autre 3ème partie fournisseur d’authentification.The same rule applies to any other 3rd party authentication provider. Vous pouvez également vous connecter avec un autre compte à l’aide d’un autre navigateur.Alternatively, you can log in with another account by using a different browser.

Étapes suivantesNext Steps

Consultez présentation les fournisseurs de sécurité Yahoo et LinkedIn OAuth pour OWIN par Jerrie Pelser pour obtenir des instructions Yahoo et LinkedIn.See Introducing the Yahoo and LinkedIn OAuth security providers for OWIN by Jerrie Pelser for Yahoo and LinkedIn instructions. Consultez de Jerrie presque les boutons de connexion de réseau social pour ASP.NET MVC 5 obtenir des boutons de connexion de réseau social enable.See Jerrie's Pretty social login buttons for ASP.NET MVC 5 to get enable social login buttons.

Suivre me didacticiel créer une application ASP.NET MVC avec authentification et base de données SQL et la déployer sur Azure App Service, qui continue de ce didacticiel et affiche les informations suivantes :Follow my tutorial Create an ASP.NET MVC app with auth and SQL DB and deploy to Azure App Service, which continues this tutorial and shows the following:

  1. Comment déployer votre application dans Azure.How to deploy your app to Azure.
  2. Guide pratique pour sécuriser votre application avec des rôles.How to secure you app with roles.
  3. Comment sécuriser votre application avec le RequireHttps et Authorize filtres.How to secure your app with the RequireHttps and Authorize filters.
  4. Comment utiliser l’API d’appartenance pour ajouter des utilisateurs et des rôles.How to use the membership API to add users and roles.

Veuillez laisser des commentaires sur la façon dont vous avez apprécié ce didacticiel et ce que nous pouvions améliorer.Please leave feedback on how you liked this tutorial and what we could improve. Vous pouvez également demander de nouvelles rubriques à afficher les leçons de Code.You can also request new topics at Show Me How With Code. Vous pouvez même demander et voter sur les nouvelles fonctionnalités à ajouter à ASP.NET.You can even ask for and vote on new features to be added to ASP.NET. Par exemple, vous pouvez voter pour un outil à créer et gérer des utilisateurs et des rôles.For example, you can vote for a tool to create and manage users and roles.

Pour une bonne explication du fonctionnement des Services d’authentification externe ASP.NET, consultez de Robert McMurray des Services d’authentification externe.For an good explanation of how ASP.NET External Authentication Services work, see Robert McMurray's External Authentication Services. L’article de Robert prendra également en détail dans l’activation de l’authentification de Microsoft et Twitter.Robert's article also goes into detail in enabling Microsoft and Twitter authentication. Tom Dykstra de didacticiel EF/MVC montre comment travailler avec Entity Framework.Tom Dykstra's excellent EF/MVC tutorial shows how to work with the Entity Framework.