/// <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); }