/// <summary>
        /// Configures authentication for the Azure Functions app. It will setup Functions built-in authentication.
        /// </summary>
        /// <param name="configure">The <see cref="AuthenticationOptions"/> configuration logic.</param>
        public static FunctionsAuthenticationBuilder AddFunctionsAuthentication(
            this IServiceCollection services, Action <AuthenticationOptions>?configure)
        {
            var authBuilder = new FunctionsAuthenticationBuilder(services);

            if (AuthHelper.EnableAuth)
            {
                EnabledAuthHelper.AddBuiltInFunctionsAuthentication(services);
            }
            else
            {
                services.AddAuthentication();
                AuthHelper.AddScriptJwtBearer(authBuilder);
                DisabledAuthHelper.AddScriptAuthLevel(authBuilder);
                DisabledAuthHelper.AddArmToken(authBuilder);
            }

            if (configure != null)
            {
                services.AddSingleton <IConfigureOptions <AuthenticationOptions> >(provider =>
                                                                                   new ConfigureOptions <AuthenticationOptions>(options =>
                {
                    configure(options);
                }));
            }

            return(authBuilder);
        }