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) }); }
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) }); }