diff --git a/src/Microsoft.AspNet.Identity/RoleManager.cs b/src/Microsoft.AspNet.Identity/RoleManager.cs index 892d7afc22..3c3c14aaae 100644 --- a/src/Microsoft.AspNet.Identity/RoleManager.cs +++ b/src/Microsoft.AspNet.Identity/RoleManager.cs @@ -31,7 +31,7 @@ namespace Microsoft.AspNet.Identity IEnumerable> roleValidators, ILookupNormalizer keyNormalizer, IdentityErrorDescriber errors, - ILogger> logger, + ILoggerFactory logger, IHttpContextAccessor contextAccessor) { if (store == null) @@ -51,7 +51,7 @@ namespace Microsoft.AspNet.Identity } } - Logger = logger ?? new Logger>(new LoggerFactory()); + Logger = logger?.CreateLogger>() ?? new Logger>(new LoggerFactory()); } /// @@ -72,7 +72,7 @@ namespace Microsoft.AspNet.Identity /// /// Used to log results /// - internal ILogger> Logger { get; set; } + internal ILogger Logger { get; set; } /// /// Used to normalize user names, role names, emails for uniqueness diff --git a/src/Microsoft.AspNet.Identity/SignInManager.cs b/src/Microsoft.AspNet.Identity/SignInManager.cs index ce5ddb22b6..9dca0ee9ac 100644 --- a/src/Microsoft.AspNet.Identity/SignInManager.cs +++ b/src/Microsoft.AspNet.Identity/SignInManager.cs @@ -25,7 +25,7 @@ namespace Microsoft.AspNet.Identity IHttpContextAccessor contextAccessor, IUserClaimsPrincipalFactory claimsFactory, IOptions optionsAccessor = null, - ILogger> logger = null) + ILoggerFactory logger = null) { if (userManager == null) { @@ -45,14 +45,14 @@ namespace Microsoft.AspNet.Identity ClaimsFactory = claimsFactory; Options = optionsAccessor?.Options ?? new IdentityOptions(); - Logger = logger ?? new Logger>(new LoggerFactory()); + Logger = logger?.CreateLogger>() ?? new Logger>(new LoggerFactory()); } - public UserManager UserManager { get; private set; } - public HttpContext Context { get; private set; } - public IUserClaimsPrincipalFactory ClaimsFactory { get; private set; } - public IdentityOptions Options { get; private set; } - public ILogger> Logger { get; set; } + internal UserManager UserManager { get; private set; } + internal HttpContext Context { get; private set; } + internal IUserClaimsPrincipalFactory ClaimsFactory { get; private set; } + internal IdentityOptions Options { get; private set; } + internal ILogger Logger { get; set; } // Should this be a func? public virtual async Task CreateUserPrincipalAsync(TUser user) diff --git a/src/Microsoft.AspNet.Identity/UserManager.cs b/src/Microsoft.AspNet.Identity/UserManager.cs index 2cc9c0ac00..65dfccdd09 100644 --- a/src/Microsoft.AspNet.Identity/UserManager.cs +++ b/src/Microsoft.AspNet.Identity/UserManager.cs @@ -49,7 +49,7 @@ namespace Microsoft.AspNet.Identity ILookupNormalizer keyNormalizer, IdentityErrorDescriber errors, IEnumerable> tokenProviders, - ILogger> logger, + ILoggerFactory logger, IHttpContextAccessor contextAccessor) { if (store == null) @@ -78,7 +78,7 @@ namespace Microsoft.AspNet.Identity } } - Logger = logger ?? new Logger>(new LoggerFactory()); + Logger = logger?.CreateLogger>() ?? new Logger>(new LoggerFactory()); if (tokenProviders != null) { @@ -104,7 +104,7 @@ namespace Microsoft.AspNet.Identity internal IdentityErrorDescriber ErrorDescriber { get; set; } - internal ILogger> Logger { get; set; } + internal ILogger Logger { get; set; } internal IdentityOptions Options { get; set; } diff --git a/test/Microsoft.AspNet.Identity.Test/SignInManagerTest.cs b/test/Microsoft.AspNet.Identity.Test/SignInManagerTest.cs index 49ce3283f3..cdc1449b09 100644 --- a/test/Microsoft.AspNet.Identity.Test/SignInManagerTest.cs +++ b/test/Microsoft.AspNet.Identity.Test/SignInManagerTest.cs @@ -127,7 +127,8 @@ namespace Microsoft.AspNet.Identity.Test var claimsFactory = new UserClaimsPrincipalFactory(manager.Object, roleManager.Object, options.Object); var logStore = new StringBuilder(); var logger = MockHelpers.MockILogger>(logStore); - var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory, options.Object, logger.Object); + var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory, options.Object, null); + helper.Logger = logger.Object; string expected = string.Format("{0} for user: {1} : Result : {2}", "PasswordSignInAsync", user.Id, "Lockedout"); // Act @@ -175,7 +176,8 @@ namespace Microsoft.AspNet.Identity.Test var claimsFactory = new UserClaimsPrincipalFactory(manager.Object, roleManager.Object, options.Object); var logStore = new StringBuilder(); var logger = MockHelpers.MockILogger>(logStore); - var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory, options.Object, logger.Object); + var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory, options.Object, null); + helper.Logger = logger.Object; string expected = string.Format("{0} for user: {1} : Result : {2}", "PasswordSignInAsync", user.Id, "Succeeded"); // Act @@ -266,7 +268,8 @@ namespace Microsoft.AspNet.Identity.Test contextAccessor.Object, new UserClaimsPrincipalFactory(manager.Object, roleManager.Object, options.Object), options.Object, - logger.Object); + null); + helper.Logger = logger.Object; string expected = string.Format("{0} for user: {1} : Result : {2}", "PasswordSignInAsync", user.Id, "RequiresTwoFactor"); // Act @@ -315,7 +318,8 @@ namespace Microsoft.AspNet.Identity.Test var claimsFactory = new UserClaimsPrincipalFactory(manager.Object, roleManager.Object, options.Object); var logStore = new StringBuilder(); var logger = MockHelpers.MockILogger>(logStore); - var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory, options.Object, logger.Object); + var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory, options.Object, null); + helper.Logger = logger.Object; string expected = string.Format("{0} for user: {1} : Result : {2}", "ExternalLoginSignInAsync", user.Id.ToString(), "Succeeded"); // Act @@ -399,7 +403,8 @@ namespace Microsoft.AspNet.Identity.Test contextAccessor.Setup(a => a.HttpContext).Returns(context.Object); var logStore = new StringBuilder(); var logger = MockHelpers.MockILogger>(logStore); - var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory, options.Object, logger.Object); + var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory, options.Object, null); + helper.Logger = logger.Object; string expected = string.Format("{0} for user: {1} : Result : {2}", "TwoFactorSignInAsync", user.Id.ToString(), "Succeeded"); // Act @@ -520,7 +525,8 @@ namespace Microsoft.AspNet.Identity.Test var claimsFactory = new Mock>(manager.Object, roleManager.Object, options.Object); var logStore = new StringBuilder(); var logger = MockHelpers.MockILogger>(logStore); - var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory.Object, options.Object, logger.Object); + var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory.Object, options.Object, null); + helper.Logger = logger.Object; // Act helper.SignOut(); @@ -551,7 +557,8 @@ namespace Microsoft.AspNet.Identity.Test var claimsFactory = new Mock>(manager.Object, roleManager.Object, options.Object); var logStore = new StringBuilder(); var logger = MockHelpers.MockILogger>(logStore); - var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory.Object, options.Object, logger.Object); + var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory.Object, options.Object); + helper.Logger = logger.Object; string expected = string.Format("{0} for user: {1} : Result : {2}", "PasswordSignInAsync", user.Id.ToString(), "Failed"); // Act var result = await helper.PasswordSignInAsync(user.UserName, "bogus", false, false); @@ -655,7 +662,8 @@ namespace Microsoft.AspNet.Identity.Test var claimsFactory = new Mock>(manager.Object, roleManager.Object, options.Object); var logStore = new StringBuilder(); var logger = MockHelpers.MockILogger>(logStore); - var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory.Object, options.Object, logger.Object); + var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory.Object, options.Object); + helper.Logger = logger.Object; string expected = string.Format("{0} for user: {1} : Result : {2}", "CanSignInAsync", user.Id.ToString(), confirmed.ToString()); // Act @@ -709,7 +717,8 @@ namespace Microsoft.AspNet.Identity.Test var claimsFactory = new Mock>(manager.Object, roleManager.Object, options.Object); var logStore = new StringBuilder(); var logger = MockHelpers.MockILogger>(logStore); - var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory.Object, options.Object, logger.Object); + var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory.Object, options.Object, null); + helper.Logger = logger.Object; string expected = string.Format("{0} for user: {1} : Result : {2}", "CanSignInAsync", user.Id.ToString(), confirmed.ToString()); // Act diff --git a/test/Shared/MockHelpers.cs b/test/Shared/MockHelpers.cs index ca7fd850d9..98f554c3f8 100644 --- a/test/Shared/MockHelpers.cs +++ b/test/Shared/MockHelpers.cs @@ -63,7 +63,7 @@ namespace Microsoft.AspNet.Identity.Test var userManager = new UserManager(store, options.Object, new PasswordHasher(), userValidators, pwdValidators, new UpperInvariantLookupNormalizer(), new IdentityErrorDescriber(), Enumerable.Empty>(), - new Logger>(new LoggerFactory()), + null, null); validator.Setup(v => v.ValidateAsync(userManager, It.IsAny())) .Returns(Task.FromResult(IdentityResult.Success)).Verifiable(); @@ -78,7 +78,7 @@ namespace Microsoft.AspNet.Identity.Test return new RoleManager(store, roles, new UpperInvariantLookupNormalizer(), new IdentityErrorDescriber(), - new Logger>(new LoggerFactory()), + null, null); }