public string CreateSecurityTokenForUser(UserDataModel user)
        {
            ClaimsIdentity identity = this.CreateClaimsIdentity(user);

            SigningCredentials signingCredentials = this.CreateSigningCredentials();

            String tokenString = this.CreateToken(identity, signingCredentials);
            return this.ProtectToken(tokenString);
        }
        private ClaimsIdentity CreateClaimsIdentity(UserDataModel user)
        {
            var claims = new[] {
                new Claim(ClaimTypes.Name, user.Email),
                new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()),
                //here you can create custom claim propertyes
                //new Claim("HasApprovedTermsAndConditions", user.HasApprovedTermsAndConditions.ToString())
            };

            return new ClaimsIdentity(claims);
        }