public static IServiceCollection AddIdentityModuleCore(this IServiceCollection services, Action <IdentityModuleOptions> configureOptions) { var settings = new IdentityModuleOptions(); configureOptions(settings); services.Configure(configureOptions); services.AddDbContext <IdentityDbContext>(options => options.UseSqlServer(settings.ConnectionStrings.Default, sql => { if (!string.IsNullOrEmpty(settings.ConnectionStrings.MigrationsAssembly)) { sql.MigrationsAssembly(settings.ConnectionStrings.MigrationsAssembly); } })) .AddScoped(typeof(IUserRepository), typeof(UserRepository)) .AddScoped(typeof(IRoleRepository), typeof(RoleRepository)) .AddScoped(typeof(IUserService), typeof(UserService)); services.AddIdentityCore <User>() .AddTokenProviders() .AddPasswordValidators(); services.AddTransient <IUserStore <User>, UserStore>(); services.AddTransient <IRoleStore <Role>, RoleStore>(); ConfigureOptions(services); services.AddMessageHandlers(Assembly.GetExecutingAssembly()); return(services); }
public UsersController(Dispatcher dispatcher, UserManager <User> userManager, ILogger <UsersController> logger, IDateTimeProvider dateTimeProvider, IEmailMessageService emailMessageService, IOptionsSnapshot <IdentityModuleOptions> moduleOptions) { _dispatcher = dispatcher; _userManager = userManager; _dateTimeProvider = dateTimeProvider; _emailMessageService = emailMessageService; _moduleOptions = moduleOptions.Value; }
public static IServiceCollection AddIdentityModule(this IServiceCollection services, IdentityModuleOptions moduleOptions) { services.Configure <IdentityModuleOptions>(op => { op.ConnectionStrings = moduleOptions.ConnectionStrings; op.IdentityServerAuthentication = moduleOptions.IdentityServerAuthentication; }); services.AddDbContext <IdentityDbContext>(options => options.UseSqlServer(moduleOptions.ConnectionStrings.Default, sql => { if (!string.IsNullOrEmpty(moduleOptions.ConnectionStrings.MigrationsAssembly)) { sql.MigrationsAssembly(moduleOptions.ConnectionStrings.MigrationsAssembly); } })) .AddScoped(typeof(IUserRepository), typeof(UserRepository)) .AddScoped(typeof(IRoleRepository), typeof(RoleRepository)) .AddScoped(typeof(IUserService), typeof(UserService)); services.AddIdentity <User, Role>() .AddTokenProviders() .AddPasswordValidators(); services.AddTransient <IUserStore <User>, UserStore>(); services.AddTransient <IRoleStore <Role>, RoleStore>(); ConfigureOptions(services); services.ConfigureApplicationCookie(options => { options.LoginPath = "/Account/Login"; }); services.AddMessageHandlers(Assembly.GetExecutingAssembly()); return(services); }