public UserDtoResponse Authenticate(string userName, string password) { var user = _userRepo.Authenticate(userName, password); if (user == null) { throw new Exception($"usename: {userName} or password not existing"); } var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes("!@#$U$U#I$$((($($*&#&##&#&#&DHHDDDJHBMFDJKHDHDJKKJDHKJHDKLJLWLJLJW)"); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, user.Id.ToString()) }), Expires = DateTime.UtcNow.AddDays(7), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); var tokenString = tokenHandler.WriteToken(token); // return basic user info (without password) and token to store client side var userResponse = new UserDtoResponse { Id = user.Id, UserName = user.UserName, FirstName = user.FirstName, LastName = user.LastName, token = tokenString }; return(userResponse); }
public UserDtoResponse UpdateUser(UserDto userDto) { // map userDto with User model var user = new User { Id = userDto.Id, FirstName = userDto.FristName, LastName = userDto.LastName, UserName = userDto.UserName }; var userRepoResponse = _userRepo.Update(user, userDto.password); var retunedUser = new UserDtoResponse { Id = userRepoResponse.Id, FirstName = userRepoResponse.FirstName, LastName = userRepoResponse.LastName, UserName = userRepoResponse.UserName }; return(retunedUser); }