public async Task <IActionResult> Authenticate([FromBody] AuthUser userParam) { try { var user = await _userService.Authenticate(userParam.Username, userParam.Password); return(Ok(new { user.Email, user.Phone, user.Username, user.FirstName, user.LastName, user.Token })); } catch (AuthenticationException ex) { return(BadRequest(new { message = ex.Message })); } catch { return(BadRequest(new { message = "Something went wrong" })); } }
public async Task <ActionResult <AdminResponse> > Authenticate([FromBody] AdminUserViewModel adminUserData) { if (!ModelState.IsValid) { return(BadRequest(string.Format(_messageHandler.GetMessage(ErrorMessagesEnum.ModelValidation), "", ModelState.Values.First().Errors.First().ErrorMessage))); } var response = await _adminUserService.Authenticate(adminUserData.UserName, adminUserData.Password); return(Ok(response)); }
public IActionResult Authenticate([FromBody] AdminUser userParam) { var user = _adminUserService.Authenticate(userParam.Username, userParam.Password); if (user == null) { return(BadRequest(new { message = "Username or password is incorrect" })); } return(Ok(user)); }
protected override async Task <AuthenticateResult> HandleAuthenticateAsync() { if (!Request.Headers.ContainsKey("Authorization")) { return(AuthenticateResult.Fail("Missing Authorization Header")); } AdminUserDto user = null; try { var authHeader = AuthenticationHeaderValue.Parse(Request.Headers["Authorization"]); var credentialBytes = Convert.FromBase64String(authHeader.Parameter); var credentials = Encoding.UTF8.GetString(credentialBytes).Split(':'); var username = credentials[0]; var password = credentials[1]; user = await _userService.Authenticate(username, password); } catch { return(AuthenticateResult.Fail("Invalid Authorization Header")); } if (user == null) { return(AuthenticateResult.Fail("Invalid Username or Password")); } var claims = new[] { new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()), new Claim(ClaimTypes.Name, user.Username), }; var identity = new ClaimsIdentity(claims, Scheme.Name); var principal = new ClaimsPrincipal(identity); var ticket = new AuthenticationTicket(principal, Scheme.Name); return(AuthenticateResult.Success(ticket)); }