public async Task <ActionResult <UserCompleteDto> > PostUser([FromBody] UserCompleteDto dataDto) { var data = _mapper.MapFromDto <UserCompleteDto, User>(dataDto); var result = await _service.CreateUserAsync(data); return(new ObjectResult(new { UserCreate = _mapper.MapToDto <User, UserCompleteDto>(result) })); }
protected override async Task <AuthenticateResult> HandleAuthenticateAsync() { if (!Request.Headers.Keys.Contains("auth")) { return(AuthenticateResult.Fail("Authorization header is missing")); } UserCompleteDto user = null; try { var authHeader = Request.Headers["auth"]; var credentials = JsonConvert.DeserializeObject <AuthenticateUserDto>(authHeader); User data = await _userService.AuthenticateUserAsync(credentials.Id, credentials.Hash); user = _mapper.MapToDto <User, UserCompleteDto>(data); if (Request.Path.ToString().Contains("/familytree/") && Request.Method.Contains("GET") && !Request.Path.ToString().Contains("/concat-valid/")) { var partials = Request.Path.ToString().Split('/'); var familyTreeId = Int32.Parse(partials[2]); Entity.FamilyTree fData = await _familytreeService.GetFamilyTreeByIdAsync(familyTreeId); if (fData.UserId != credentials.Id && fData.Type != Entity.Enums.FamilyTreeTypesEnum._public) { throw new Exception(); } } } catch { return(AuthenticateResult.Fail("Invalid Authorization Header")); } if (user == null) { return(AuthenticateResult.Fail("Authentication failed")); } var claims = new[] { new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()), new Claim(ClaimTypes.Name, user.Nickname), }; var identity = new ClaimsIdentity(claims, Scheme.Name); var principal = new ClaimsPrincipal(identity); // Set authentication ticket -> authentization succesfull var ticket = new AuthenticationTicket(principal, Scheme.Name); return(AuthenticateResult.Success(ticket)); }
public async Task <UserCompleteDto> GetUsers(int from = 0, int size = 20) { if (size > 1000) { size = 1000; } var users = await _userService.GetAllAsync(from, size); var result = new UserCompleteDto { Users = users.ToList() }; return(result); }
public async Task <IActionResult> GetUser(string username) { var user = await _userService.GetSingleByUsernameAsync(username); if (user == null) { return(NotFound()); } var result = new UserCompleteDto() { Users = new List <UserDto>() }; result.Users.Add(user); return(Ok(result)); }