Skip to content

Commit 21721ca

Browse files
MackinnonBuckgithub-actions
authored andcommitted
Fix UserStore passkey name update
1 parent 08964b9 commit 21721ca

File tree

8 files changed

+370
-6
lines changed

8 files changed

+370
-6
lines changed

src/Identity/EntityFrameworkCore/src/UserOnlyStore.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -708,6 +708,7 @@ public virtual async Task<IList<UserPasskeyInfo>> GetPasskeysAsync(TUser user, C
708708
cancellationToken.ThrowIfCancellationRequested();
709709
ThrowIfDisposed();
710710
ArgumentNullException.ThrowIfNull(user);
711+
ArgumentNullException.ThrowIfNull(credentialId);
711712

712713
var passkey = await FindUserPasskeyAsync(user.Id, credentialId, cancellationToken).ConfigureAwait(false);
713714
if (passkey != null)

src/Identity/EntityFrameworkCore/src/UserStore.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -770,6 +770,7 @@ public virtual async Task AddOrUpdatePasskeyAsync(TUser user, UserPasskeyInfo pa
770770
var userPasskey = await FindUserPasskeyByIdAsync(passkey.CredentialId, cancellationToken).ConfigureAwait(false);
771771
if (userPasskey != null)
772772
{
773+
userPasskey.Data.Name = passkey.Name;
773774
userPasskey.Data.SignCount = passkey.SignCount;
774775
userPasskey.Data.IsBackedUp = passkey.IsBackedUp;
775776
userPasskey.Data.IsUserVerified = passkey.IsUserVerified;
@@ -851,6 +852,7 @@ public virtual async Task<IList<UserPasskeyInfo>> GetPasskeysAsync(TUser user, C
851852
{
852853
cancellationToken.ThrowIfCancellationRequested();
853854
ThrowIfDisposed();
855+
ArgumentNullException.ThrowIfNull(user);
854856
ArgumentNullException.ThrowIfNull(credentialId);
855857

856858
var passkey = await FindUserPasskeyAsync(user.Id, credentialId, cancellationToken).ConfigureAwait(false);

src/Identity/EntityFrameworkCore/test/EF.Test/SqlStoreTestBase.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ protected virtual void SetupAddIdentity(IServiceCollection services)
3737
options.Password.RequireNonAlphanumeric = false;
3838
options.Password.RequireUppercase = false;
3939
options.User.AllowedUserNameCharacters = null;
40+
options.Stores.SchemaVersion = IdentitySchemaVersions.Version3;
4041
})
4142
.AddRoles<TRole>()
4243
.AddDefaultTokenProviders()

src/Identity/EntityFrameworkCore/test/EF.Test/UserStoreEncryptPersonalDataTest.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ protected override void SetupAddIdentity(IServiceCollection services)
2525
options.Password.RequireNonAlphanumeric = false;
2626
options.Password.RequireUppercase = false;
2727
options.User.AllowedUserNameCharacters = null;
28+
options.Stores.SchemaVersion = IdentitySchemaVersions.Version3;
2829
})
2930
.AddDefaultTokenProviders()
3031
.AddEntityFrameworkStores<TestDbContext>()

src/Identity/EntityFrameworkCore/test/EF.Test/UserStoreTest.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,12 @@ public void CanCreateUserUsingEF()
4040

4141
private IdentityDbContext CreateContext()
4242
{
43-
var db = DbUtil.Create<IdentityDbContext>(_fixture.Connection);
43+
var services = new ServiceCollection();
44+
services.Configure<IdentityOptions>(options =>
45+
{
46+
options.Stores.SchemaVersion = IdentitySchemaVersions.Version3;
47+
});
48+
var db = DbUtil.Create<IdentityDbContext>(_fixture.Connection, services);
4449
db.Database.EnsureCreated();
4550
return db;
4651
}
@@ -195,7 +200,6 @@ public async Task FindByEmailThrowsWithTwoUsersWithSameEmail()
195200
userB.Email = "[email protected]";
196201
IdentityResultAssert.IsSuccess(await manager.CreateAsync(userB, "password"));
197202
await Assert.ThrowsAsync<InvalidOperationException>(async () => await manager.FindByEmailAsync("[email protected]"));
198-
199203
}
200204

201205
[ConditionalFact]

src/Identity/EntityFrameworkCore/test/EF.Test/UserStoreWithGenericsTest.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,12 @@ public UserStoreWithGenericsTest(ScratchDatabaseFixture fixture)
2121

2222
private ContextWithGenerics CreateContext()
2323
{
24-
var db = DbUtil.Create<ContextWithGenerics>(_fixture.Connection);
24+
var services = new ServiceCollection();
25+
services.Configure<IdentityOptions>(options =>
26+
{
27+
options.Stores.SchemaVersion = IdentitySchemaVersions.Version3;
28+
});
29+
var db = DbUtil.Create<ContextWithGenerics>(_fixture.Connection, services);
2530
db.Database.EnsureCreated();
2631
return db;
2732
}

0 commit comments

Comments
 (0)