public User AuthentificationTest(string userName, string password) { var loginService = _container.GetInstance <AuthentificationService>(); var credentialsDraft = new CredentialsDraft(userName, password); return(loginService.Authentificate(credentialsDraft)); }
public User Authentificate(CredentialsDraft credentialsDraft) { var user = _userManager.GetUserByLogin(credentialsDraft.login); var password = _passwordHasher.GetHash(credentialsDraft.password); if (user != null && user.Credentials.Passwords.Find(p => p.IsActive).Value != password) { user = null; } return(user); }
public HttpResponseMessage Login(CredentialsDraft credentialsDraft) { var user = _autentificationService.Authentificate(credentialsDraft); if (user == null) { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Wrong login or password.")); } else if (user.Email == null) { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry, you can't login. You didn't confirm your email address.")); } var token = _jwtService.CreateToken(user.UserId); var userDTO = new UserDTO() { Id = user.UserId, FirstName = user.FirstName, LastName = user.LastName, UserName = user.UserName, Email = user.Email, PendingEmail = user.PendingEmail, MobilePhone = user.MobilePhone.Value, DateOfBirth = (int)user.DateOfBirth.Subtract(new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds, Country = user.Address.Country, State = user.Address.State, City = user.Address.City, Zipcode = user.Address.Zipcode, AddressLine = user.Address.AddressLine, Roles = user.UserRoles.Select(x => x.Name).ToArray() }; var response = Request.CreateResponse(HttpStatusCode.OK, new { user = userDTO, token = token }); return(response); }