public MemberDetailsPage(Model.Response.MemberLL member) { InitializeComponent(); BindingContext = model = new MemberDetailsViewModel() { Member = member }; }
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 username = credentials[0]; var password = credentials[1]; LoggedMember = await _memberService.Login(username, password); } catch (Exception ex) { return(AuthenticateResult.Fail("Invalid Authorization Header!")); } if (LoggedMember == null) { return(AuthenticateResult.Fail("Invalid Username or Password")); } var claims = new List <Claim> { new Claim(ClaimTypes.NameIdentifier, LoggedMember.Username), new Claim(ClaimTypes.Name, LoggedMember.FirstName), new Claim(ClaimTypes.Role, LoggedMember.Role.Name) //new Claim(ClaimTypes.Locality, member.LocalCommittee.Name), //new Claim("FunctionalField",member.FunctionalField.Name) }; var identity = new ClaimsIdentity(claims, Scheme.Name); var principal = new ClaimsPrincipal(identity); var ticket = new AuthenticationTicket(principal, Scheme.Name); return(AuthenticateResult.Success(ticket)); }