protected override async Task <AuthenticateResult> HandleAuthenticateAsync() { if (!Request.Headers.ContainsKey("Authorization")) { return(AuthenticateResult.Fail("Missing Authorization Header")); } try { var authHeader = AuthenticationHeaderValue.Parse(Request.Headers["Authorization"]); var credentialBytes = Convert.FromBase64String(authHeader.Parameter); var credentials = Encoding.UTF8.GetString(credentialBytes).Split(':'); var uniqueCode = credentials[2]; // ??? var username = credentials[0]; var password = credentials[1]; LoggedUser = _userService.Authenticiraj(uniqueCode); } catch { return(AuthenticateResult.Fail("Invalid Authorization Header")); } if (LoggedUser == null) { return(AuthenticateResult.Fail("Invalid Username or Password")); } var claims = new List <Claim> { new Claim(ClaimTypes.NameIdentifier, LoggedUser.ApplicationUser.UniqueCode), }; var identity = new ClaimsIdentity(claims, Scheme.Name); var principal = new ClaimsPrincipal(identity); var ticket = new AuthenticationTicket(principal, Scheme.Name); return(AuthenticateResult.Success(ticket)); }
/// <summary> /// Map a Applicant database Model object to a View Model object for presentation /// </summary> /// <param name="item">database model object</param> /// <returns>view model presentation object</returns> public static ViewModel.Entity.Applicant ToViewModel(this Model.Applicant item) { return(Mapper.Map <ViewModel.Entity.Applicant>(item)); }