示例#1
0
        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);
        }
示例#2
0
        public async Task <DomainModels.User> CreateAsync(DomainModels.User entity)
        {
            entity.Logs = new System.Collections.Generic.List <DateTime>();
            await collection.InsertOneAsync(entity);

            return(entity);
        }
示例#3
0
 public static UserInfo ToUserInfo(this DomainModels.User user)
 {
     return(new UserInfo()
     {
         Id = user.Id,
         Name = user.Name,
         Surname = user.Surname
     });
 }
示例#4
0
        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
            });
        }
示例#5
0
 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
                ));
 }
示例#6
0
 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
     });
 }
示例#7
0
        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)
            });
        }
示例#8
0
        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");
            }
        }
示例#9
0
 public Task <DomainModels.User> UpdateAsync(DomainModels.User entity)
 {
     throw new System.NotImplementedException();
 }
示例#10
0
 public async Task AddUser(DomainModels.User user)
 {
     db.Users.Add(user.ToEntityModel());
     await db.SaveChangesAsync();
 }