Beispiel #1
0
 /// <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));
 }
Beispiel #3
0
 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;
 }
Beispiel #4
0
        /// <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();
        }
Beispiel #5
0
 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));
 }
Beispiel #7
0
 /// <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));
 }