private IEnumerable <Claim> GetAccountClaims(LoginResultUser user) => new Claim[]
 {
     new Claim(JwtRegisteredClaimNames.Sub, user.UserId),
     new Claim(JwtRegisteredClaimNames.GivenName, user.FirstName),
     new Claim(JwtRegisteredClaimNames.FamilyName, user.LastName),
     new Claim(JwtRegisteredClaimNames.NameId, user.Email)
 };
        private JwtSecurityToken GetJwtSecurityToken(LoginResultUser user)
        {
            IEnumerable <Claim> claims = GetAccountClaims(user);
            string websiteUri          = $"https://{WebsiteHostName}/";

            return(AppServiceLoginHandler
                   .CreateToken(claims, TokenSigningKey, websiteUri, websiteUri, TimeSpan.FromDays(30)));
        }
        private LoginResultUser AuthenticateCredentials(UserLoginModel credentials)
        {
            //validate user against db, or service here

            var user = new LoginResultUser {
                UserId = Guid.NewGuid().ToString(), Email = "*****@*****.**", FirstName = "Sandbox", LastName = "User"
            };

            var success = (credentials.UserName == user.Email && credentials.Password == "pass"); //dummy validation

            return(success ? user : null);
        }