private User AuthenticateUser(AspNetUsers userEntity) { var userRoles = new List <string>(); var user = userEntity.Adapt <User>(); if (userEntity.AspNetUserRoles != null && userEntity.AspNetUserRoles.Count > 0) { //user.Roles = userEntity.AspNetUserRoles.Select(x => x.RoleId).ToList(); userRoles = GetUserRoles(userEntity.AspNetUserRoles.Select(x => x.RoleId).ToList()); } var userClaims = SetUserClaims(userEntity.Id.ToString(), userRoles); var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(_settings.AuthenticationSettings.Secret); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(userClaims), Expires = DateTime.UtcNow.AddDays(7), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); user.Token = tokenHandler.WriteToken(token); user.Password = null; user.EmailConfirmed = userEntity.EmailConfirmed; user.Roles = userRoles; return(user); }