/// <summary>
        ///
        /// </summary>
        /// <param name="builder"></param>
        public static void UseMemoryCache(this AuthorizeOptionsBuilder builder)
        {
            ICacheAgent func(IServiceProvider provider)
            {
                return(new MemoryCacheAgent());
            }

            builder.SetCache(func);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="builder"></param>
        /// <param name="redisConfig"></param>
        /// <param name="serviceLifetime"></param>
        public static void UseRedisCache(this AuthorizeOptionsBuilder builder, string redisConfig, string prefix = null, ServiceLifetime serviceLifetime = ServiceLifetime.Singleton)
        {
            ICacheAgent func(IServiceProvider provider)
            {
                return(new RedisCacheAgent(prefix, redisConfig));
            }

            builder.SetCache(func, serviceLifetime);
        }