diff --git a/samples/ChatSample/Controllers/ManageController.cs b/samples/ChatSample/Controllers/ManageController.cs index e35362b81d..f7182fa0d2 100644 --- a/samples/ChatSample/Controllers/ManageController.cs +++ b/samples/ChatSample/Controllers/ManageController.cs @@ -20,6 +20,7 @@ namespace ChatSample.Controllers { private readonly UserManager _userManager; private readonly SignInManager _signInManager; + private readonly IAuthenticationSchemeProvider _schemes; private readonly IEmailSender _emailSender; private readonly ISmsSender _smsSender; private readonly ILogger _logger; @@ -27,12 +28,14 @@ namespace ChatSample.Controllers public ManageController( UserManager userManager, SignInManager signInManager, + IAuthenticationSchemeProvider schemes, IEmailSender emailSender, ISmsSender smsSender, ILoggerFactory loggerFactory) { _userManager = userManager; _signInManager = signInManager; + _schemes = schemes; _emailSender = emailSender; _smsSender = smsSender; _logger = loggerFactory.CreateLogger(); @@ -290,7 +293,8 @@ namespace ChatSample.Controllers return View("Error"); } var userLogins = await _userManager.GetLoginsAsync(user); - var otherLogins = _signInManager.GetExternalAuthenticationSchemes().Where(auth => userLogins.All(ul => auth.AuthenticationScheme != ul.LoginProvider)).ToList(); + var schemes = await _schemes.GetAllSchemesAsync(); + var otherLogins = schemes.Where(auth => userLogins.All(ul => auth.Name != ul.LoginProvider)).ToList(); ViewData["ShowRemoveButton"] = user.PasswordHash != null || userLogins.Count > 1; return View(new ManageLoginsViewModel { diff --git a/samples/ChatSample/Models/ManageViewModels/ManageLoginsViewModel.cs b/samples/ChatSample/Models/ManageViewModels/ManageLoginsViewModel.cs index 021fb7ca2b..4707ea9d94 100644 --- a/samples/ChatSample/Models/ManageViewModels/ManageLoginsViewModel.cs +++ b/samples/ChatSample/Models/ManageViewModels/ManageLoginsViewModel.cs @@ -5,7 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; -using Microsoft.AspNetCore.Http.Authentication; +using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Identity; namespace ChatSample.Models.ManageViewModels @@ -14,6 +14,6 @@ namespace ChatSample.Models.ManageViewModels { public IList CurrentLogins { get; set; } - public IList OtherLogins { get; set; } + public IList OtherLogins { get; set; } } } diff --git a/samples/ChatSample/Startup.cs b/samples/ChatSample/Startup.cs index b15bc811af..4e3ca6ba99 100644 --- a/samples/ChatSample/Startup.cs +++ b/samples/ChatSample/Startup.cs @@ -76,7 +76,7 @@ namespace ChatSample app.UseStaticFiles(); - app.UseIdentity(); + app.UseAuthentication(); // Add external authentication middleware below. To configure them please see http://go.microsoft.com/fwlink/?LinkID=532715 //app.UseCookieAuthentication(); diff --git a/samples/ChatSample/Views/Account/Login.cshtml b/samples/ChatSample/Views/Account/Login.cshtml index cc4e1f300f..3dcf7f8955 100644 --- a/samples/ChatSample/Views/Account/Login.cshtml +++ b/samples/ChatSample/Views/Account/Login.cshtml @@ -1,6 +1,6 @@ @using System.Collections.Generic @using Microsoft.AspNetCore.Http -@using Microsoft.AspNetCore.Http.Authentication +@using Microsoft.AspNetCore.Authentication @model LoginViewModel @inject SignInManager SignInManager @@ -59,7 +59,8 @@

Use another service to log in.


@{ - var loginProviders = SignInManager.GetExternalAuthenticationSchemes().ToList(); + var schemes = await SchemeProvider.GetAllSchemesAsync(); + var loginProviders = schemes.ToList(); if (loginProviders.Count == 0) {
@@ -76,7 +77,7 @@

@foreach (var provider in loginProviders) { - + }

diff --git a/samples/ChatSample/Views/Manage/ManageLogins.cshtml b/samples/ChatSample/Views/Manage/ManageLogins.cshtml index cb764d4a0c..3f36375913 100644 --- a/samples/ChatSample/Views/Manage/ManageLogins.cshtml +++ b/samples/ChatSample/Views/Manage/ManageLogins.cshtml @@ -1,5 +1,5 @@ @model ManageLoginsViewModel -@using Microsoft.AspNetCore.Http.Authentication +@using Microsoft.AspNetCore.Authentication @{ ViewData["Title"] = "Manage your external logins"; } @@ -46,7 +46,7 @@

@foreach (var provider in Model.OtherLogins) { - + }