@@ -18,22 +18,19 @@ public class ManageController : Controller
1818 {
1919 private readonly UserManager < ApplicationUser > _userManager ;
2020 private readonly SignInManager < ApplicationUser > _signInManager ;
21- private readonly string _externalCookieScheme ;
2221 private readonly IEmailSender _emailSender ;
2322 private readonly ISmsSender _smsSender ;
2423 private readonly ILogger _logger ;
2524
2625 public ManageController (
2726 UserManager < ApplicationUser > userManager ,
2827 SignInManager < ApplicationUser > signInManager ,
29- IOptions < IdentityCookieOptions > identityCookieOptions ,
3028 IEmailSender emailSender ,
3129 ISmsSender smsSender ,
3230 ILoggerFactory loggerFactory )
3331 {
3432 _userManager = userManager ;
3533 _signInManager = signInManager ;
36- _externalCookieScheme = identityCookieOptions . Value . ExternalCookieAuthenticationScheme ;
3734 _emailSender = emailSender ;
3835 _smsSender = smsSender ;
3936 _logger = loggerFactory . CreateLogger < ManageController > ( ) ;
@@ -291,7 +288,7 @@ public async Task<IActionResult> ManageLogins(ManageMessageId? message = null)
291288 return View ( "Error" ) ;
292289 }
293290 var userLogins = await _userManager . GetLoginsAsync ( user ) ;
294- var otherLogins = _signInManager . GetExternalAuthenticationSchemes ( ) . Where ( auth => userLogins . All ( ul => auth . AuthenticationScheme != ul . LoginProvider ) ) . ToList ( ) ;
291+ var otherLogins = ( await _signInManager . GetExternalAuthenticationSchemesAsync ( ) ) . Where ( auth => userLogins . All ( ul => auth . Name != ul . LoginProvider ) ) . ToList ( ) ;
295292 ViewData [ "ShowRemoveButton" ] = user . PasswordHash != null || userLogins . Count > 1 ;
296293 return View ( new ManageLoginsViewModel
297294 {
@@ -307,7 +304,7 @@ public async Task<IActionResult> ManageLogins(ManageMessageId? message = null)
307304 public async Task < IActionResult > LinkLogin ( string provider )
308305 {
309306 // Clear the existing external cookie to ensure a clean login process
310- await HttpContext . Authentication . SignOutAsync ( _externalCookieScheme ) ;
307+ await HttpContext . Authentication . SignOutAsync ( IdentityConstants . ExternalScheme ) ;
311308
312309 // Request a redirect to the external login provider to link a login for the current user
313310 var redirectUrl = Url . Action ( nameof ( LinkLoginCallback ) , "Manage" ) ;
@@ -336,7 +333,7 @@ public async Task<ActionResult> LinkLoginCallback()
336333 {
337334 message = ManageMessageId . AddLoginSuccess ;
338335 // Clear the existing external cookie to ensure a clean login process
339- await HttpContext . Authentication . SignOutAsync ( _externalCookieScheme ) ;
336+ await HttpContext . Authentication . SignOutAsync ( IdentityConstants . ExternalScheme ) ;
340337 }
341338 return RedirectToAction ( nameof ( ManageLogins ) , new { Message = message } ) ;
342339 }
0 commit comments