private Api.Models.UserModel CreateUserToken(Repository.Models.UserModel dbUser) { var user = new Api.Models.UserModel() { Id = dbUser.id, Email = dbUser.email, Role = RoleModel.User }; var key = Encoding.ASCII.GetBytes(_secret); var tokenHandler = new JwtSecurityTokenHandler(); SecurityTokenDescriptor tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, user.Id.ToString()), }), Expires = DateTime.UtcNow.AddMinutes(15), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; SecurityToken token = tokenHandler.CreateToken(tokenDescriptor); user.Token = tokenHandler.WriteToken(token); //insert RefreshToken into db user.RefreshToken = Guid.NewGuid(); return(user); }
public IActionResult Create([FromBody] UserDto userDto) { try { var user = new Repository.Models.UserModel() { email = userDto.Email, password = _authenticateService.HashPassword(userDto.Password) }; _userRepository.Insert(user); return(Login(userDto)); } catch (Exception ex) { return(BadRequest(ex.Message)); } return(Ok()); }