protected virtual string CreateAccessToken(ClaimsIdentity claimsIdentity, DateTime notBefore, DateTime expires)
        {
            var jwtSecurityToken = new JwtSecurityToken(
                issuer: options.Issuer,
                audience: options.Audience,
                claims: claimsIdentity.Claims,
                notBefore: notBefore,
                expires: expires,
                signingCredentials: options.CreateSigningCredentials()
                );

            return(new JwtSecurityTokenHandler().WriteToken(jwtSecurityToken));
        }