/// <summary> /// A method that seeds the database with initial realistic data. /// </summary> /// <param name="dbContext">An extended <see cref="DbContext"/> for the Identity framework.</param> /// <param name="initialUsers">A list of initial users provided by the consumer in order to be inserted in the application startup.</param> public static void Seed <TUser, TRole>(this ExtendedIdentityDbContext <TUser, TRole> dbContext, IEnumerable <User> initialUsers = null) where TUser : User, new() where TRole : Role, new() { if (initialUsers?.Any() == true) { dbContext.Users.AddRange(initialUsers.Cast <TUser>()); dbContext.SaveChanges(); } }
/// <summary> /// Creates an instance of <see cref="UsersController"/>. /// </summary> /// <param name="userManager">Provides the APIs for managing user in a persistence store.</param> /// <param name="roleManager">Provides the APIs for managing roles in a persistence store.</param> /// <param name="dbContext">Class for the Entity Framework database context used for identity.</param> /// <param name="persistedGrantService">Implements persisted grant logic.</param> /// <param name="clientStore">Retrieval of client configuration.</param> /// <param name="apiEndpointsOptions">Options for configuring the IdentityServer API feature.</param> /// <param name="eventService">Models the event mechanism used to raise events inside the IdentityServer API.</param> /// <param name="generalSettings">General settings for an ASP.NET Core application.</param> /// <param name="localizer">Represents an <see cref="IStringLocalizer"/> that provides strings for <see cref="UsersController"/>.</param> public UsersController(ExtendedUserManager <User> userManager, RoleManager <Role> roleManager, ExtendedIdentityDbContext <User, Role> dbContext, IPersistedGrantService persistedGrantService, IClientStore clientStore, IdentityServerApiEndpointsOptions apiEndpointsOptions, IEventService eventService, IOptions <GeneralSettings> generalSettings, IStringLocalizer <UsersController> localizer) { _userManager = userManager ?? throw new ArgumentNullException(nameof(userManager)); _roleManager = roleManager ?? throw new ArgumentNullException(nameof(roleManager)); _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); _persistedGrantService = persistedGrantService ?? throw new ArgumentNullException(nameof(persistedGrantService)); _clientStore = clientStore ?? throw new ArgumentNullException(nameof(clientStore)); _apiEndpointsOptions = apiEndpointsOptions ?? throw new ArgumentNullException(nameof(apiEndpointsOptions)); _eventService = eventService ?? throw new ArgumentNullException(nameof(eventService)); _generalSettings = generalSettings?.Value ?? throw new ArgumentNullException(nameof(generalSettings)); _localizer = localizer ?? throw new ArgumentNullException(nameof(localizer)); }
public MyAccountController(ExtendedUserManager <User> userManager, IOptions <GeneralSettings> generalSettings, IOptionsSnapshot <IdentityOptions> identityOptions, IdentityServerApiEndpointsOptions identityServerApiEndpointsOptions, IEventService eventService, ISmsService smsService, IEmailService emailService, MessageDescriber messageDescriber, ExtendedIdentityDbContext <User, Role> dbContext) { _userManager = userManager ?? throw new ArgumentNullException(nameof(userManager)); _generalSettings = generalSettings?.Value ?? throw new ArgumentNullException(nameof(generalSettings)); _identityOptions = identityOptions?.Value ?? throw new ArgumentNullException(nameof(identityOptions)); _identityServerApiEndpointsOptions = identityServerApiEndpointsOptions ?? throw new ArgumentNullException(nameof(identityServerApiEndpointsOptions)); _eventService = eventService ?? throw new ArgumentNullException(nameof(eventService)); _messageDescriber = messageDescriber ?? throw new ArgumentNullException(nameof(messageDescriber)); _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); _smsService = smsService; _emailService = emailService; }
/// <summary> /// A method that seeds the database with initial realistic data. /// </summary> /// <param name="dbContext">An extended <see cref="DbContext"/> for the Identity framework.</param> public static void Seed <TUser, TRole>(this ExtendedIdentityDbContext <TUser, TRole> dbContext) where TUser : User, new() where TRole : Role, new() { // Create an admin account. const string adminEmail = "*****@*****.**"; var admin = new TUser { Id = "ab9769f1-d532-4b7d-9922-3da003157ebd", Admin = true, ConcurrencyStamp = $"{Guid.NewGuid()}", CreateDate = DateTime.UtcNow, Email = adminEmail, EmailConfirmed = true, LockoutEnabled = false, NormalizedEmail = adminEmail.ToUpper(), NormalizedUserName = adminEmail.ToUpper(), PasswordHash = "AH6SA/wuxp9YEfLGROaj2CgjhxZhXDkMB1nD8V7lfQAI+WTM4lGMItjLhhV5ASsq+Q==", PhoneNumber = "69XXXXXXXX", PhoneNumberConfirmed = true, SecurityStamp = $"{Guid.NewGuid()}", UserName = adminEmail }; admin.GenerateDeveloperTotp(); dbContext.Users.Add(admin); dbContext.UserClaims.Add(new IdentityUserClaim <string> { ClaimType = JwtClaimTypes.GivenName, ClaimValue = "Indice", UserId = admin.Id }); dbContext.UserClaims.Add(new IdentityUserClaim <string> { ClaimType = JwtClaimTypes.FamilyName, ClaimValue = "Company", UserId = admin.Id }); dbContext.Users.AddRange(InitialUsers <TUser> .Get(2000)); dbContext.ClaimTypes.AddRange(InitialClaimTypes.Get()); dbContext.Roles.AddRange(InitialRoles <TRole> .Get()); dbContext.SaveChanges(); }
public MyAccountController( ExtendedIdentityDbContext <User, Role> dbContext, ExtendedUserManager <User> userManager, IConfiguration configuration, IdentityServerApiEndpointsOptions identityServerApiEndpointsOptions, IEmailService emailService, IEventService eventService, IOptions <GeneralSettings> generalSettings, IOptionsSnapshot <IdentityOptions> identityOptions, ISmsServiceFactory smsServiceFactory ) { _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); _emailService = emailService; _eventService = eventService ?? throw new ArgumentNullException(nameof(eventService)); _generalSettings = generalSettings?.Value ?? throw new ArgumentNullException(nameof(generalSettings)); _identityOptions = identityOptions?.Value ?? throw new ArgumentNullException(nameof(identityOptions)); _identityServerApiEndpointsOptions = identityServerApiEndpointsOptions ?? throw new ArgumentNullException(nameof(identityServerApiEndpointsOptions)); _smsServiceFactory = smsServiceFactory ?? throw new ArgumentNullException(nameof(smsServiceFactory)); _userManager = userManager ?? throw new ArgumentNullException(nameof(userManager)); }
public DevicesController(ExtendedUserManager <User> userManager, IPushNotificationService pushNotificationService, ExtendedIdentityDbContext <User, Role> dbContext) { _userManager = userManager ?? throw new ArgumentNullException(nameof(userManager)); _pushNotificationService = pushNotificationService ?? throw new ArgumentNullException(nameof(pushNotificationService)); _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); }
/// <summary> /// Creates an instance of <see cref="SettingsController"/>. /// </summary> /// <param name="dbContext"><see cref="DbContext"/> for the Identity Framework.</param> /// <param name="webHostEnvironment">Provides information about the web hosting environment an application is running in.</param> public SettingsController(ExtendedIdentityDbContext <User, Role> dbContext, IWebHostEnvironment webHostEnvironment) { _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); _webHostEnvironment = webHostEnvironment ?? throw new ArgumentNullException(nameof(webHostEnvironment)); }
/// <summary> /// Creates an instance of <see cref="ClaimTypesController"/>. /// </summary> /// <param name="dbContext"><see cref="DbContext"/> for the Identity Framework.</param> public ClaimTypesController(ExtendedIdentityDbContext <User, Role> dbContext) { _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); }