public async Task <ActionResult <UserDto> > Register(RegisterDto registerDto) { if (await UserExists(registerDto.Username)) { return(BadRequest("User Name Taken")); } var user = _mapper.Map <AppUser>(registerDto); using var hmac = new HMACSHA512(); user.UserName = registerDto.Username.ToLower(); user.PasswordHash = hmac.ComputeHash(Encoding.UTF8.GetBytes(registerDto.Password)); user.PasswordSolt = hmac.Key; _context.Users.Add(user); await _context.SaveChangesAsync(); return(new UserDto { UserName = user.UserName, Token = _tokenservice.CreateToken(user), IsKnownAs = user.IsKnownAs, Gender = user.Gender }); }
public async Task <ActionResult <UserDto> > Register(RegisterDto registerDto) { if (await UserExists(registerDto.Username)) { return(BadRequest("User Name Taken")); } var user = _mapper.Map <AppUser>(registerDto); user.UserName = registerDto.Username.ToLower(); var result = await _userManager.CreateAsync(user, registerDto.Password); if (!result.Succeeded) { return(BadRequest(result.Errors)); } var roleresult = await _userManager.AddToRoleAsync(user, "Member"); if (!roleresult.Succeeded) { return(BadRequest(roleresult.Errors)); } return(new UserDto { Username = user.UserName, Token = await _tokenservice.CreateToken(user), KnownAs = user.KnownAs, Gender = user.Gender }); }