-
Notifications
You must be signed in to change notification settings - Fork 97
Open
Labels
questionFurther information is requestedFurther information is requested
Description
Is your feature request related to a problem? Please describe.
We use value objects for the key IDs of our user and role objects. However, registration requires these values to be the same type when making a call to AddIdentityMongoDbProvider
Describe the solution you'd like
It would be nice to be able to define the key types for the user and role separately rather than forcing them to be the same type.
builder.Services
.AddAuthorization()
.AddIdentityMongoDbProvider<ApplicationUser, ApplicationRole, UserId>( // <--- It would be nice to be able to specify the ID types for user and role separately
identityOptions => { identityOptions.SignIn.RequireConfirmedAccount = false; },
mongoIdentityOptions =>
{
mongoIdentityOptions.ConnectionString = builder.Configuration.GetConnectionString("MongoDB");
})
.AddDefaultTokenProviders();
Describe alternatives you've considered
The alternative would be use the underlying type such as a Guid. However, you lose the strong typing of the value object. I'm also not sure registering a Guid serialiser for a nice readable guid currently works.
Example:
builder.Services
.AddAuthorization()
.AddIdentityMongoDbProvider<ApplicationUser, ApplicationRole, Guid>(
identityOptions => { identityOptions.SignIn.RequireConfirmedAccount = false; },
mongoIdentityOptions =>
{
mongoIdentityOptions.ConnectionString = builder.Configuration.GetConnectionString("MongoDB");
})
.AddDefaultTokenProviders();
BsonSerializer.RegisterSerializer(new GuidSerializer(BsonType.String));
smhoff
Metadata
Metadata
Assignees
Labels
questionFurther information is requestedFurther information is requested