From 91eac9f74e1da9457bfe2bc514c810493b6d519a Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Wed, 12 Nov 2014 12:22:50 -0800 Subject: [PATCH] Remove old V1 method: FindByUsernamePassword Replaced with FindUser/CheckPassword Fixes https://github.com/aspnet/Identity/issues/223 --- src/Microsoft.AspNet.Identity/UserManager.cs | 20 ------------------- .../UserManagerTest.cs | 9 --------- test/Shared/UserManagerTestBase.cs | 16 +++++++-------- 3 files changed, 7 insertions(+), 38 deletions(-) diff --git a/src/Microsoft.AspNet.Identity/UserManager.cs b/src/Microsoft.AspNet.Identity/UserManager.cs index 5287ed215d..2b82d41333 100644 --- a/src/Microsoft.AspNet.Identity/UserManager.cs +++ b/src/Microsoft.AspNet.Identity/UserManager.cs @@ -506,26 +506,6 @@ namespace Microsoft.AspNet.Identity return await Store.GetUserIdAsync(user, cancellationToken); } - /// - /// Return a user with the specified username and password or null if there is no match. - /// - /// - /// - /// - /// - public virtual async Task FindByUserNamePasswordAsync(string userName, string password, - CancellationToken cancellationToken = default(CancellationToken)) - { - ThrowIfDisposed(); - userName = NormalizeUserName(userName); - var user = await FindByNameAsync(userName, cancellationToken); - if (user == null) - { - return null; - } - return await CheckPasswordAsync(user, password, cancellationToken) ? user : null; - } - /// /// Returns true if the password combination is valid for the user /// diff --git a/test/Microsoft.AspNet.Identity.Test/UserManagerTest.cs b/test/Microsoft.AspNet.Identity.Test/UserManagerTest.cs index 35eb06c3a5..386520db42 100644 --- a/test/Microsoft.AspNet.Identity.Test/UserManagerTest.cs +++ b/test/Microsoft.AspNet.Identity.Test/UserManagerTest.cs @@ -385,13 +385,6 @@ namespace Microsoft.AspNet.Identity.Test Assert.False(await manager.CheckPasswordAsync(null, "whatevs")); } - [Fact] - public async Task FindWithUnknownUserAndPasswordReturnsNull() - { - var manager = MockHelpers.TestUserManager(new EmptyStore()); - Assert.Null(await manager.FindByUserNamePasswordAsync("bogus", "whatevs")); - } - [Fact] public void UsersQueryableFailWhenStoreNotImplemented() { @@ -566,7 +559,6 @@ namespace Microsoft.AspNet.Identity.Test await Assert.ThrowsAsync("claim", async () => await manager.ReplaceClaimAsync(null, null, null)); await Assert.ThrowsAsync("claims", async () => await manager.AddClaimsAsync(null, null)); await Assert.ThrowsAsync("userName", async () => await manager.FindByNameAsync(null)); - await Assert.ThrowsAsync("userName", async () => await manager.FindByUserNamePasswordAsync(null, null)); await Assert.ThrowsAsync("login", async () => await manager.AddLoginAsync(null, null)); await Assert.ThrowsAsync("loginProvider", async () => await manager.RemoveLoginAsync(null, null, null)); @@ -707,7 +699,6 @@ namespace Microsoft.AspNet.Identity.Test await Assert.ThrowsAsync(() => manager.RemovePasswordAsync(null)); await Assert.ThrowsAsync(() => manager.RemoveFromRoleAsync(null, null)); await Assert.ThrowsAsync(() => manager.RemoveFromRolesAsync(null, null)); - await Assert.ThrowsAsync(() => manager.FindByUserNamePasswordAsync(null, null)); await Assert.ThrowsAsync(() => manager.FindByLoginAsync(null, null)); await Assert.ThrowsAsync(() => manager.FindByIdAsync(null)); await Assert.ThrowsAsync(() => manager.FindByNameAsync(null)); diff --git a/test/Shared/UserManagerTestBase.cs b/test/Shared/UserManagerTestBase.cs index 2754f1eabc..31fc022fb1 100644 --- a/test/Shared/UserManagerTestBase.cs +++ b/test/Shared/UserManagerTestBase.cs @@ -258,7 +258,7 @@ namespace Microsoft.AspNet.Identity.Test Assert.NotNull(logins); Assert.Equal(1, logins.Count()); Assert.Equal(user, await manager.FindByLoginAsync(login.LoginProvider, login.ProviderKey)); - Assert.Equal(user, await manager.FindByUserNamePasswordAsync(user.UserName, "password")); + Assert.True(await manager.CheckPasswordAsync(user, "password")); } [Fact] @@ -324,8 +324,8 @@ namespace Microsoft.AspNet.Identity.Test var stamp = user.SecurityStamp; Assert.NotNull(stamp); IdentityResultAssert.IsSuccess(await manager.ChangePasswordAsync(user, password, newPassword)); - Assert.Null(await manager.FindByUserNamePasswordAsync(user.UserName, password)); - Assert.Equal(user, await manager.FindByUserNamePasswordAsync(user.UserName, newPassword)); + Assert.False(await manager.CheckPasswordAsync(user, password)); + Assert.True(await manager.CheckPasswordAsync(user, newPassword)); Assert.NotEqual(stamp, user.SecurityStamp); } @@ -525,8 +525,8 @@ namespace Microsoft.AspNet.Identity.Test var token = await manager.GeneratePasswordResetTokenAsync(user); Assert.NotNull(token); IdentityResultAssert.IsSuccess(await manager.ResetPasswordAsync(user, token, newPassword)); - Assert.Null(await manager.FindByUserNamePasswordAsync(user.UserName, password)); - Assert.Equal(user, await manager.FindByUserNamePasswordAsync(user.UserName, newPassword)); + Assert.False(await manager.CheckPasswordAsync(user, password)); + Assert.True(await manager.CheckPasswordAsync(user, newPassword)); Assert.NotEqual(stamp, user.SecurityStamp); } @@ -547,8 +547,7 @@ namespace Microsoft.AspNet.Identity.Test manager.PasswordValidator = new AlwaysBadValidator(); IdentityResultAssert.IsFailure(await manager.ResetPasswordAsync(user, token, newPassword), AlwaysBadValidator.ErrorMessage); - Assert.NotNull(await manager.FindByUserNamePasswordAsync(user.UserName, password)); - Assert.Equal(user, await manager.FindByUserNamePasswordAsync(user.UserName, password)); + Assert.True(await manager.CheckPasswordAsync(user, password)); Assert.Equal(stamp, user.SecurityStamp); } @@ -565,8 +564,7 @@ namespace Microsoft.AspNet.Identity.Test var stamp = user.SecurityStamp; Assert.NotNull(stamp); IdentityResultAssert.IsFailure(await manager.ResetPasswordAsync(user, "bogus", newPassword), "Invalid token."); - Assert.NotNull(await manager.FindByUserNamePasswordAsync(user.UserName, password)); - Assert.Equal(user, await manager.FindByUserNamePasswordAsync(user.UserName, password)); + Assert.True(await manager.CheckPasswordAsync(user, password)); Assert.Equal(stamp, user.SecurityStamp); }