public async Task <ActionResult <DTOToken> > Register(ApplicationUser appUser) { var user = new DTOUser() { Email = appUser.Email.ToLower(), Name = appUser.Name, PasswordHash = BCrypt.Net.BCrypt.HashPassword(appUser.Password, _appSettings.BcryptWorkfactor) }; _context.DTOUsers.Add(user); await _context.SaveChangesAsync(); var jwtToken = new DTOToken(); jwtToken.JWT = GenerateToken(user.Email); return(CreatedAtAction("GetUser", new { id = user.Id }, jwtToken)); }
public async Task <IActionResult> Renovate([FromBody] DTOToken _token) { var refreshToken = await _tokenRepo.GetToken(_token.RefreshToken); if (refreshToken == null) { return(NotFound()); } refreshToken.Updated = DateTime.Now; refreshToken.Used = true; await _tokenRepo.Update(refreshToken); //Gerando token var user = await _repository.FindAsync(refreshToken.UserId); return(BuildNewToken(user)); }