public async Task <TokenDto> InternalLoginAsync(InternalLoginDto internalLogin) { if (!internalCredentialConfiguration.IsActive) { throw new UnauthorizedException("Internal authentication is disabled"); } if (internalLogin.UserName != internalCredentialConfiguration.UserName) { throw new UnauthorizedException("Invalid user name"); } if (internalLogin.Password != internalCredentialConfiguration.Password) { throw new UnauthorizedException("Wrong password"); } var user = new DomainModels.User { Id = "", IsActive = true, Name = internalLogin.UserName, Type = Common.Enums.UserType.Admin }; var token = await Task.FromResult(userExtensionService.GenerateUserAccessToken(user)); return(token); }
public async Task <DomainModels.User> CreateAsync(DomainModels.User entity) { entity.Logs = new System.Collections.Generic.List <DateTime>(); await collection.InsertOneAsync(entity); return(entity); }
public static UserInfo ToUserInfo(this DomainModels.User user) { return(new UserInfo() { Id = user.Id, Name = user.Name, Surname = user.Surname }); }
public async Task <User> CreateUser(User user) { var domainModelUser = new DomainModels.User { Email = user.Email, Name = user.Name }; var userData = await _usersRepository.Create(domainModelUser); return(new User { Id = userData.Id, Email = userData.Email, Name = userData.Name }); }
public static User ToBLModel(this DomainModels.User user) { return(new User( user.Id, user.Login, user.Name, user.Surname, user.BornDate, user.RegisterDate, user.Email )); }
public static User ToEntityModel(this DomainModels.User model) { return(new User() { Id = model.Id, Login = model.Login, Name = model.Name, Surname = model.Surname, BornDate = model.BornDate, RegisterDate = model.RegisterDate, Email = model.Email, Password = model.Password }); }
public TokenDto GenerateUserAccessToken(DomainModels.User user) { var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(authenticationConfiguration.Secret); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, user.Id.ToString()), new Claim(ClaimTypes.Role, user.Type.ToIntegerString()) }), Expires = DateTime.UtcNow.AddDays(7), SigningCredentials = new SigningCredentials( new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); return(new TokenDto { Bearer = tokenHandler.WriteToken(token) }); }
public async Task <Guid> AddUser(string Login, string Name, string Surname, DateTime BornDate, string Email, string Password) { DomainModels.User user = new DomainModels.User() { Login = Login, Name = Name, Surname = Surname, BornDate = BornDate, Email = Email, Password = Encoding.UTF8.GetString(MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(Password))) }; if (user.IsValidData() && !(await _userRepository.CheckExistsOfUser(Login, Email))) { await _userRepository.AddUser(user); return((await _userRepository.GetUserByLogin(Login)).Id); } else { throw new ArgumentException("Invalid arguments"); } }
public Task <DomainModels.User> UpdateAsync(DomainModels.User entity) { throw new System.NotImplementedException(); }
public async Task AddUser(DomainModels.User user) { db.Users.Add(user.ToEntityModel()); await db.SaveChangesAsync(); }