Пример #1
0
        public async Task <ActionResult <UserDto> > Register(RegisterDto newuser)
        {
            if (await UserExists(newuser.username))
            {
                return(BadRequest("Username is taken"));
            }

            using var hmac = new HMACSHA512();

            var user = new appUser
            {
                UserName     = newuser.username,
                PasswordSalt = hmac.Key,
                passwordHash = hmac.ComputeHash(Encoding.UTF8.GetBytes(newuser.password))
            };

            await _context.Users.AddAsync(user);

            await _context.SaveChangesAsync();

            return(new UserDto
            {
                UserName = user.UserName,
                Token = _tokenService.CreateToken(user)
            });
        }
Пример #2
0
        public async Task <ActionResult <UserTokenDTO> > Register(RegisterDTO resgister)
        {
            if (await UserExists(resgister.username))
            {
                return(BadRequest("username is taken"));
            }
            using var hmac = new HMACSHA512();
            var passwordHash = hmac.ComputeHash(Encoding.UTF8.GetBytes(resgister.password));
            var passwordSalt = hmac.Key;
            var user         = new AppUser()
            {
                UserName     = resgister.username,
                PasswordHash = passwordHash,
                PasswordSalt = passwordSalt
            };

            _context.User.Add(user);
            await _context.SaveChangesAsync();

            return(new UserTokenDTO {
                username = user.UserName,
                Token = _tokenService.CreateToken(user)
            });
        }