public void ValidateUser_EmptyPassword() { Assert.Throws <UnprocessableEntityException>( () => JwtAuthenticationService.ValidateUser(new User { EMail = "test" }, "")); }
private static User CreateUser() { using (var ctx = _factory.CreateDbContext(new string[0])) { Console.WriteLine("Username (must be an Email): "); string username; do { username = Console.ReadLine(); } while (!username.IsValidEmail()); Console.WriteLine("Password"); var password = Console.ReadLine(); var user = JwtAuthenticationService.CreateNewUser(username); JwtAuthenticationService.UpdatePassword(user, password); ctx.Users.Add(user); ctx.SaveChanges(); var person = new RealPerson { Firstname = "Mr.", Lastname = "Administrator", UserId = user.Id }; ctx.RealPeople.Add(person); ctx.SaveChanges(); return(user); } }
public IdentityController(UserDataSource uds, IdentityDataSource ids, IdentityService isrv, JwtAuthenticationService jwtAuthSrv) { _userDataSource = uds ?? throw new ArgumentNullException(nameof(uds)); _identityDataSource = ids ?? throw new ArgumentNullException(nameof(ids)); _identityService = isrv ?? throw new ArgumentNullException(nameof(isrv)); _jwtAuthenticationService = jwtAuthSrv ?? throw new ArgumentNullException(nameof(jwtAuthSrv)); }
public void IsThereAuthentication_ReturnsCorrectly(ApiContext context, bool expectedResult) { var service = new JwtAuthenticationService(context, It.IsAny <string>(), It.IsAny <string>()); var actual = service.IsThereAuthentication(); Assert.AreEqual(expectedResult, actual); }
public AuthenticationController( IdentityService identityService, JwtAuthenticationService jwtAuthenticationService, IIdentityDataSource identityDataSource, IUserDataSource userDataSource) { _identityService = identityService; _jwtAuthenticationService = jwtAuthenticationService; _identityDataSource = identityDataSource; _userDataSource = userDataSource; }
public void CreateNewUser() { var username = "******"; var usr = JwtAuthenticationService.CreateNewUser(username); Assert.Equal(username, usr.EMail); Assert.True(string.IsNullOrWhiteSpace(usr.Password)); Assert.True(string.IsNullOrWhiteSpace(usr.ResetHash)); Assert.NotNull(usr.Claims.FirstOrDefault(x => x.Type == UsernameClaim.USERNAME_CLAIM_TYPE && x.Value == username)); }
public void UpdatePassword() { var user = new User(); var pwd = "NewPassword"; pwd.HashPassword(); JwtAuthenticationService.UpdatePassword(user, pwd); Assert.False(string.IsNullOrWhiteSpace(user.Password)); Assert.False(string.IsNullOrWhiteSpace(user.Salt)); Assert.True(string.IsNullOrWhiteSpace(user.ResetHash)); }
public void ConfigureServices(IServiceCollection services) { services.Configure <JwtAuthenticationService.Options>( Configuration.GetSection("Authentication")); services.Configure <ImageProcessingService.Options>( Configuration.GetSection("ImageProcessing")); JwtAuthenticationService.AddJwtAuthentication( services, Configuration.GetValue <string>("Authentication:Secret")); services.AddSingleton(sp => new Database(Configuration.GetConnectionString("DefaultConnection"))); services.AddSingleton(sp => new AzureStorage(Configuration.GetConnectionString("StorageConnection"))); services.AddSingleton <MigrationDataSource>(); services.AddSingleton <UserDataSource>(); services.AddSingleton <IdentityDataSource>(); services.AddSingleton <PostDataSource>(); services.AddSingleton <FollowDataSource>(); services.AddSingleton <MigrationService>(); services.AddSingleton <IdentityService>(); services.AddSingleton <ImageProcessingService>(); services.AddSingleton <JwtAuthenticationService>(); services.AddMvc(options => { options.Filters.Add(new ValidateModelAttribute()); options.InputFormatters.RemoveType <JsonPatchInputFormatter>(); }); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Title = "Social API", Version = "v1" }); c.IncludeXmlComments(Path.Combine( AppContext.BaseDirectory, Assembly.GetEntryAssembly().GetName().Name + ".xml")); c.OperationFilter <JsonOperationFilter>(); c.OperationFilter <AuthResponsesOperationFilter>(); c.OperationFilter <FormFileOperationFilter>(); c.OperationFilter <ResponseCodeOperationFilter>(); }); services.AddCors(); }
public void ValidateUser_WrongPassword() { var usr = new User(); var password = "******"; var hashTuple = password.HashPassword(); usr.Password = hashTuple.Item1; usr.Salt = hashTuple.Item2; usr.EMail = "Username"; usr.Claims.Add(UserClaim.FromClaim(new UsernameClaim(usr.EMail))); Assert.Throws <UnauthorizedException>(() => JwtAuthenticationService.ValidateUser(usr, "wrong password")); }
public void ValidateUser_Success() { var usr = new User(); var password = "******"; var hashTuple = password.HashPassword(); usr.Password = hashTuple.Item1; usr.Salt = hashTuple.Item2; usr.EMail = "Username"; usr.Claims.Add(UserClaim.FromClaim(new UsernameClaim(usr.EMail))); JwtAuthenticationService.ValidateUser(usr, password); }
public MessagePushHandler( RequestDelegate next, IApplicationLifetime appLifetime, IConversationDataSource conversationDataSource, JwtAuthenticationService jwtAuthentioncationService, string url) { _next = next; _applicationStoppingCancellationToken = appLifetime.ApplicationStopping; _conversationDataSource = conversationDataSource; _jwtAuthentioncationService = jwtAuthentioncationService; _url = url; }
public AccountController( SignInManager <ApplicationUser> signInManager, UserManager <ApplicationUser> userManager, ILogger <AccountController> logger, JwtAuthenticationService tokenService, AccountService accountService, UserService userService) { _signInManager = signInManager; _userManager = userManager; _logger = logger; _accountService = accountService; _tokenService = tokenService; _userService = userService; }
public void UpdateUsername() { const string NEW_USERNAME = "******"; var user = new User { EMail = "*****@*****.**" }; user.Claims.Add(new UsernameClaim("*****@*****.**")); user.Claims.Add(new UsernameClaim("*****@*****.**")); JwtAuthenticationService.UpdateUsername(user, NEW_USERNAME); Assert.Equal(1, user.Claims.Count); Assert.Equal(UsernameClaim.USERNAME_CLAIM_TYPE, user.Claims.FirstOrDefault()?.Type); Assert.Equal(NEW_USERNAME, user.Claims.FirstOrDefault()?.Value); Assert.Equal(NEW_USERNAME, user.EMail); }
public void ConfigureServices(IServiceCollection services) { services.Configure <JwtAuthenticationService.Options>( Configuration.GetSection("Authentication")); JwtAuthenticationService.AddJwtAuthentication( services, Configuration.GetValue <string>("Authentication:Secret")); services.AddMongo(Configuration.GetSection("Mongo")); services.AddRedis(Configuration.GetSection("Redis")); services.AddSingleton <IdentityService>(); services.AddSingleton <JwtAuthenticationService>(); services.AddCors(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Title = "Messenger API", Version = "v1" }); // TODO: не исопльзовать имена сборок явно c.IncludeXmlComments(Path.Combine( AppContext.BaseDirectory, "WebApi.xml")); c.IncludeXmlComments(Path.Combine( AppContext.BaseDirectory, "Abstractions.xml")); c.OperationFilter <JsonOperationFilter>(); c.OperationFilter <AuthResponsesOperationFilter>(); c.OperationFilter <ResponseCodeOperationFilter>(); }); // services.AddCors(); }
public void ValidateUsername_Success() { JwtAuthenticationService.ValidateUsername("*****@*****.**"); }
public AdminController(IRepository <Admin> repository, JwtAuthenticationService authService) : base(repository) { _authService = authService; }
public AuthController(ISmsService smsService, OnlineShopContext context, JwtAuthenticationService userService) { this.smsService = smsService; this.context = context; this.userService = userService; }
public void ValidateUsername_NoEmail() { Assert.Throws <UnprocessableEntityException>( () => JwtAuthenticationService.ValidateUsername("This is not a username")); }
public void ValidateUser_NoUser() { Assert.Throws <UnauthorizedException>(() => JwtAuthenticationService.ValidateUser(null, "bla")); }