public static IEnumerable <string> OnUserCreateValidation(Models.User user) { var validationErrors = new List <string>(); // Username if (string.IsNullOrWhiteSpace(user.Username)) { validationErrors.Add(CommonResponseMessages.EmptyUsername); } // Password string passwordPattern = @"^(?=.*[A-Z].*[A-Z])(?=.*[!@#$&*])(?=.*[0-9].*[0-9])(?=.*[a-z].*[a-z].*[a-z]).{8,}$"; if (string.IsNullOrWhiteSpace(user.Password)) { validationErrors.Add(CommonResponseMessages.EmptyPassword); } else if (!Regex.IsMatch(user.Password, passwordPattern)) { validationErrors.Add(CommonResponseMessages.PasswordTooWeak); } // Email string emailPattern = @"^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"; if (string.IsNullOrWhiteSpace(user.Email) || !Regex.IsMatch(user.Email, emailPattern)) { validationErrors.Add(CommonResponseMessages.InvalidEmail); } return(validationErrors); }
protected async Task CreateAdminUser() { var admin = await userRepository.GetUserByUsername("Admin"); if (admin == null) { var adminUser = new Models.User() { Username = "******", Password = SHA.GenerateSHA256String("AAdmin12!"), Email = "*****@*****.**", FirstName = "Adam", LastName = "Adamowski" }; await userRepository.Create(adminUser); } }
private string BuildToken(Models.User user) { var claims = new[] { new Claim(JwtRegisteredClaimNames.Sub, user.Username), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim(JwtRegisteredClaimNames.NameId, user.Id.ToString()) }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["Jwt:Key"])); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken(_configuration["Jwt:Issuer"], _configuration["Jwt:Issuer"], claims, expires: DateTime.Now.AddMinutes(Double.Parse(_configuration["Jwt:TokenExpire"])), signingCredentials: creds); return(new JwtSecurityTokenHandler().WriteToken(token)); }
public static IApplicationBuilder UpdateDatabase(this IApplicationBuilder app) { using (var serviceScope = app.ApplicationServices .GetRequiredService <IServiceScopeFactory>() .CreateScope()) { using (var context = serviceScope.ServiceProvider.GetService <DatabaseContext>()) { if (!context.Database.IsInMemory()) { context.Database.Migrate(); } else { var isAnyUserCreated = context.Users.AnyAsync().Result; if (!isAnyUserCreated) { var admin = new Models.User(Guid.NewGuid()) { Username = "******", Password = SHA.GenerateSHA256String("admin"), Email = "*****@*****.**", FirstName = "John", LastName = "Doe" }; context.Users.Add(admin); context.SaveChanges(); } } } } return(app); }
public UsersDeleteTests(WebApplicationFactory <Startup> factory) : base(factory) { sampleUser = userRepository.Create(sampleUser).Result; }