Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public ServiceFactory()
- {
- var services = new ServiceCollection();
- services.AddDbContext<ApplicationDbContext>
- (
- options => options.UseInMemoryDatabase(Guid.NewGuid().ToString())
- );
- IdentityBuilder builder = services.AddIdentityCore<User>(options =>
- {
- options.Password.RequireDigit = false;
- options.Password.RequireUppercase = false;
- options.Password.RequiredLength = 8;
- options.Password.RequireDigit = false;
- options.Password.RequireLowercase = false;
- options.Password.RequireNonAlphanumeric = false;
- });
- builder = new IdentityBuilder(builder.UserType, typeof(Role), builder.Services);
- builder.AddEntityFrameworkStores<ApplicationDbContext>();
- builder.AddRoleValidator<RoleValidator<Role>>();
- builder.AddRoleManager<RoleManager<Role>>();
- builder.AddSignInManager<SignInManager<User>>();
- // Taken from https://github.com/aspnet/MusicStore/blob/dev/test/MusicStore.Test/ManageControllerTest.cs (and modified)
- // IHttpContextAccessor is required for SignInManager, and UserManager
- var context = new DefaultHttpContext();
- context.Features.Set<IHttpAuthenticationFeature>(new HttpAuthenticationFeature());
- services.AddSingleton<IHttpContextAccessor>(h => new HttpContextAccessor { HttpContext = context });
- var serviceProvider = services.BuildServiceProvider();
- this.Context = serviceProvider.GetRequiredService<ApplicationDbContext>();
- this.UserManager = serviceProvider.GetRequiredService<UserManager<User>>();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement