public void Configuration(IAppBuilder app) { ConfigureAuth(app); app.UseHangfire(config => { config.UseSqlServerStorage("Hangfire"); config.UseServer(); //config.UseAuthorizationFilters(new AuthorizationFilter //{ // Users = "admin, superuser", // allow only specified users // Roles = "admins" // allow only specified roles //}); //// or //config.UseAuthorizationFilters( // new ClaimsBasedAuthorizationFilter("hangfire", "access")); }); app.MapSignalR(); MessageSender.NotifyCompleted = SentNotification.Notify; }
/// <summary> /// Specifies how the ASP.NET application will respond to individual HTTP request. /// </summary> /// <param name="app">Instance of <see cref="T:Owin.IAppBuilder" />.</param> public void Configuration(IAppBuilder app) { CorsConfig.ConfigureCors(ConfigurationManager.AppSettings["cors"]); app.UseCors(CorsConfig.Options); HttpConfiguration configuration = new HttpConfiguration(); configuration .UsingSwagger() .UsingAutoMapper() .UsingAutofac() .UsingFormatter() .UsingService() .UsingRoute(); app.UseHangfire(); configuration.UsingGameConfig(); app.SetDefaultSignInAsAuthenticationType("ExternalCookie"); app.UseOAuthAuthorizationServer(new OAuthAuthorizationServerOptions() { AllowInsecureHttp = true, TokenEndpointPath = new PathString("/token"), AccessTokenExpireTimeSpan = TimeSpan.FromDays(180.0), Provider = (IOAuthAuthorizationServerProvider)configuration.DependencyResolver.GetService(typeof(AdminOAuthAuthorizationProvider)) }); FacebookAuthOptions = new FacebookAuthenticationOptions() { AppId = ConfigurationManager.AppSettings["FacebookAppId"], AppSecret = ConfigurationManager.AppSettings["FacebookAppSecret"], Provider = new FacebookAuthProvider() }; FacebookAuthOptions.Scope.Add("email"); app.UseOAuthBearerAuthentication(OAuthBearerOptions).UseFacebookAuthentication(FacebookAuthOptions).UseAutofacMiddleware(AutofacConfig.Container).UseWebApi(configuration).UseOAuthBearerTokens(OAuthOptions); }
public void ConfigurationJob(IAppBuilder app) { var options = new BackgroundJobServerOptions { ServerName = String.Format( "{0}.{1}", CommonHelper.GetApplicationName, Environment.MachineName ) }; var jobStorage = new SqlServerStorage(CommonHelper.GetJobConnectionString); // var server = new BackgroundJobServer(options, jobStorage); app.UseHangfire(config => { config.UseSqlServerStorage(CommonHelper.GetJobConnectionString); //var server = new BackgroundJobServer(options); config.UseServer(options); if (CommonHelper.EnableRemoteHangfire) config.UseAuthorizationFilters(new HangFireRestrictiveAuthorizationFilter()); }); // BackgroundJob.Enqueue(() => Debug.WriteLine("Hello, world!")); }
// For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864 public void ConfigureAuth(IAppBuilder app) { app.CreatePerOwinContext(AppContext.Create); app.CreatePerOwinContext <ApplicationUserManager>(ApplicationUserManager.Create); app.CreatePerOwinContext <ApplicationSignInManager>(ApplicationSignInManager.Create); // Enable the application to use a cookie to store information for the signed in user // and to use a cookie to temporarily store information about a user logging in with a third party login provider // Configure the sign in cookie app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/Login"), Provider = new CookieAuthenticationProvider { // Enables the application to validate the security stamp when the user logs in. // This is a security feature which is used when you change a password or add an external login to your account. OnValidateIdentity = SecurityStampValidator.OnValidateIdentity <ApplicationUserManager, ApplicationUser>( validateInterval: TimeSpan.FromMinutes(30), regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)), OnException = context => { } } }); app.UseHangfire(config => { config.UseSqlServerStorage("DefaultConnection"); config.UseServer(); }); }
public void Configuration(IAppBuilder app) { app.UseHangfire(config => { config.UseSqlServerStorage("JobHangFireIoDb"); config.UseServer(); }); }
public void Configuration(IAppBuilder app) { app.UseHangfire(config => { config.UseSqlServerStorage(ConfigurationManager.ConnectionStrings["ApiDataContext"].ConnectionString); config.UseServer(); }); }
public void Configuration(IAppBuilder app) { app.UseHangfire(config => { config.UseSqlServerStorage("NameOfConnectionStringKey"); // Other storage options are available config.UseDashboardPath("/hangfire"); config.UseServer(); }); }
public void Configuration(IAppBuilder app) { // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888 app.UseHangfire(config => { config.UseSqlServerStorage("Server=localhost;Database=_HangfirePlayground;Trusted_Connection=True;"); config.UseServer(); }); }
public void Configuration(IAppBuilder app) { ConfigureAuth(app); app.UseHangfire(config => { config.UseSqlServerStorage("DataContext").UseMsmqQueues(@".\private$\hangfire-0"); }); }
public void Configuration(IAppBuilder app) { // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888 app.UseHangfire(config => { //config.UseSqlServerStorage(@"Data Source=t55kxp502o.database.windows.net;Initial Catalog=DBLacage;Integrated Security=False;User ID=lacagek;Password=JgE7Wofm;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False"); config.UseSqlServerStorage(@"Data Source=jaykay;Initial Catalog=SpriteHangFire;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False"); }); }
public void Configuration(IAppBuilder app) { //careates required db's for hangfire. app.UseHangfire( config => { config.UseSqlServerStorage("HighlighterDb"); config.UseServer(); }); }
public static void ConfigureHangfire(IAppBuilder app) { app.UseHangfire(config => { config.UseSqlServerStorage("HangfireStorageDbContext"); config.UseServer(); config.UseDashboardPath("/dashboard"); config.UseAuthorizationFilters(); //allow all users to access the dashboard }); }
public void Configuration(IAppBuilder app) { ConfigureAuth(app); app.UseHangfire(config => { config.UseSqlServerStorage("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\aspnet-PointyPointy-20150126090010.mdf;Initial Catalog=aspnet-PointyPointy-20150126090010;Integrated Security=True;User Instance=True"); config.UseServer(); }); }
public void Configuration(IAppBuilder app) { app.UseHangfire(config => { config.UseSqlServerStorage("ScheduleDB"); config.UseServer(); config.UseAuthorizationFilters(new[] { new MyRestrictiveAuthorizationFilter() }); config.UseDashboardPath("/hangfire"); }); }
public void Configuration(IAppBuilder app) { app.MapSignalR(); app.UseHangfire(config => { config.UseAuthorizationFilters(); config.UseSqlServerStorage("HighlighterDb"); config.UseServer(); }); }
public void Configuration(IAppBuilder app) { app.UseHangfire(config => { config.UseAuthorizationFilters(); config .UseSqlServerStorage(@"Server=.\sqlexpress;Database=Hangfire.Sample;Trusted_Connection=True;") .UseMsmqQueues(@".\Private$\hangfire{0}", "default", "critical"); }); }
public void Configuration(IAppBuilder app) { app.UseHangfire(config => { //The SqlServerStorage class will install all database tables automatically //on application start-up (but you are able to do it manually). config.UseSqlServerStorage("emailDb"); config.UseServer(); }); }
public void Configuration(IAppBuilder app) { app.UseHangfire(config => { config.UseAuthorizationFilters(new DontUseThisAuthorizationFilter()); config .UseSqlServerStorage(@"server=xxxxx;database=Hangfire;uid=sa;pwd=123.com") .UseMsmqQueues(@".\Private$\hangfire{0}", "default", "critical"); }); app.MapHangfireDashboard(); }
public void Configuration(IAppBuilder app) { app.UseErrorPage(); app.UseWelcomePage("/"); // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888 app.UseHangfire(config => { config.UseSqlServerStorage("DefaultConnection"); config.UseServer(); }); }
private void ConfigureHangFire(IAppBuilder app) { const string conexao = @"Data Source=G1711MAX\sqlexpress;Password=chapado;User ID=sa;Initial Catalog=veiculos;Application Name=Veiculos;"; app.UseHangfire(config => { config.UseSqlServerStorage(conexao); config.UseServer(); config.UseNinjectActivator(GetKernel()); config.UseDashboardPath("/tarefas"); }); RecurringJob.AddOrUpdate <VerificaAtualizacaoHodometro>(v => v.Verifica(3), Cron.Minutely); }
public void Configuration(IAppBuilder app) { return; // todo: enable? app.UseHangfire(config => { // Basic setup required to process background jobs. config.UseSqlServerStorage("DataConnectionString"); config.UseServer(); }); RecurringJob.AddOrUpdate(() => RefreshTitlesJob(), Cron.Minutely); }
public void Configuration(IAppBuilder app) { app.UseHangfire(config => { config.UseSqlServerStorage("Data Source=<connectionstring>; Initial Catalog=HangFire; Trusted_Connection=true;"); config.UseServer(); //config.UseAuthorizationFilters(new AuthorizationFilter //{ // // Users = "admin, superuser", // allow only specified users // Roles = "admins" // allow only specified roles //}); }); }
public void Configuration(IAppBuilder app) { ConfigureAuth(app); app.UseHangfire(config => { config.UseAuthorizationFilters(new AuthorizationFilter { Roles = "Admin" }); config.UseSqlServerStorage("StoreContext"); config.UseServer(); }); }
public void Configuration(IAppBuilder app) { app.UseErrorPage(); app.UseWelcomePage("/"); app.UseHangfire(config => { var options = new SqlServerStorageOptions { QueuePollInterval = TimeSpan.FromSeconds(1) }; config.UseSqlServerStorage("DataContext", options).UseMsmqQueues(@".\private$\hangfire-0"); config.UseServer(); }); RecurringJob.AddOrUpdate(() => CleanJob.Execute(), System.Configuration.ConfigurationManager.AppSettings["CleanJobSchedule"]); RecurringJob.AddOrUpdate(() => LogsCompactionJob.Execute(), System.Configuration.ConfigurationManager.AppSettings["LogCompactionJobSchedule"]); RecurringJob.AddOrUpdate(() => PackageCleanupJob.Execute(), System.Configuration.ConfigurationManager.AppSettings["PackageCleanupJob"]); }
public void Configuration(IAppBuilder app) { app.UseHangfire(config => { // Basic setup required to process background jobs. config.UseSqlServerStorage(ConnectionString); config.UseServer(int.Parse(ConfigurationManager.AppSettings["HangfireWorkerCount"]), "importbuilds", "calculatebadges", "importcodereview", "importchangesets", "default"); config.UseActivator(new UnityJobActivator(UnityConfig.Container)); config.UseAuthorizationFilters(); }); GlobalJobFilters.Filters.Add(new AutomaticRetryAttribute { Attempts = 0 }); }
public void Configuration(IAppBuilder app) { app.UseHangfire(config => { config.UseAuthorizationFilters(); config .UseSqlServerStorage(@"Server=.\sqlexpress;Database=Hangfire.Sample;Trusted_Connection=True;") .UseMsmqQueues(@".\Private$\hangfire{0}", "default", "critical"); }); app.MapHangfireDashboard( "/hangfire-redis", new IAuthorizationFilter[0], new RedisStorage("localhost:6379", 3)); }
public void Configuration(IAppBuilder app) { app.UseHangfire(config => { //use Firebird embedded with MSMQ config .UseFirebirdStorage(@"User=SYSDBA;Password=masterkey;Database=S:\Source\Hangfire.Firebird\HANGFIRE_SAMPLE.FDB;Packet Size=8192;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;ServerType=1;ClientLibrary=S:\Source\Hangfire.Firebird\Firebird\fbembed.dll;") .UseMsmqQueues(@".\private$\hangfire-{0}"); config.UseServer(); }); app.UseNancy(); RecurringJob.AddOrUpdate( () => TextBuffer.WriteLine("Recurring Job completed successfully!"), Cron.Minutely); }
public void Configuration(IAppBuilder app) { app.UseErrorPage(); app.UseWelcomePage("/"); app.UseHangfire(config => { var options = new SqlServerStorageOptions { QueuePollInterval = TimeSpan.FromSeconds(1) }; config.UseSqlServerStorage("DataContext", options).UseMsmqQueues(@".\private$\hangfire-0"); config.UseServer(); }); RecurringJob.AddOrUpdate(() => CleanJob.Execute(), System.Configuration.ConfigurationManager.AppSettings["CleanJobSchedule"]); RecurringJob.AddOrUpdate(() => LogsCompactionJob.Execute(), System.Configuration.ConfigurationManager.AppSettings["LogCompactionJobSchedule"]); RecurringJob.AddOrUpdate(() => GalleryCleaningJob.Execute(), System.Configuration.ConfigurationManager.AppSettings["GalleryCleanupJob"]); RecurringJob.AddOrUpdate(() => HealthCheckJob.Execute(), System.Configuration.ConfigurationManager.AppSettings["HealthCheckJob"]); }
public void Configuration(IAppBuilder app) { app.MapSignalR(); app.UseHangfire(config => { config.UseAuthorizationFilters(new AuthorizationFilter { Roles = "Admin" }); config.UseActivator(new Extensions.UnityJobActivator(BusinessLogic.UnityConfig.Container)); config.UseSqlServerStorage(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString); config.UseServer(); }); AS.ChatMessage.Base.IDelete _deleteChatMessages = BusinessLogic.UnityConfig.Container.Resolve <AS.ChatMessage.Base.IDelete>(); RecurringJob.AddOrUpdate("DeleteChatMessages", () => _deleteChatMessages.Execute(), Cron.Weekly()); }
public void Configuration(IAppBuilder app) { app.UseHangfire(config => { config.UseSqlServerStorage(CommonHelper.GetJobConnectionString); var options = new BackgroundJobServerOptions { ServerName = String.Format( "{0}.{1}.{2}", Environment.MachineName, Guid.NewGuid().ToString(),CommonHelper.GetApplicationName) }; config.UseServer(options); }); }
public void Configuration(IAppBuilder app) { app.MapSignalR(); app.UseHangfire(config => { config.UseAuthorizationFilters(new AuthorizationFilter { Roles = "Admin" }); config.UseActivator(new Extensions.UnityJobActivator(BusinessLogic.UnityConfig.Container)); config.UseSqlServerStorage(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString); config.UseServer(); }); AS.ChatMessage.Base.IDelete _deleteChatMessages = BusinessLogic.UnityConfig.Container.Resolve<AS.ChatMessage.Base.IDelete>(); RecurringJob.AddOrUpdate("DeleteChatMessages", () => _deleteChatMessages.Execute(), Cron.Weekly()); }
public void Configuration(IAppBuilder config) { Bundle.RegisterStylePreprocessor(new SassPreprocessor()); var httpConfig = ConfigureWebApi(); config.Use <ExceptionMiddleware>(); config.Use <CultureMiddleware>(); #if (!DEBUG) config.Use <RedirectToHttpsMiddleware>(); #endif config.UseAutofacMiddleware(ConfigureAutofac(httpConfig)); config.UseStaticFiles("/Client"); config.UseCors(CorsOptions.AllowAll); config.UseCookieAuthentication(new CookieAuthenticationOptions() { CookiePath = "/admin/hangfire", ExpireTimeSpan = TimeSpan.FromMinutes(15) }); config.UseOAuthAuthorizationServer(ConfigureOAuthServer()); config.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions()); JobStartup jobStartup = null; config.UseHangfire(hangfireConfig => { var module = ConfigureHangfire(hangfireConfig); jobStartup = module.Resolve <JobStartup>(); }); config.UseWebApi(httpConfig); config.UseAutofacWebApi(httpConfig); config.Use(Handler); _logger.Info("Application is started!"); jobStartup.Start(); }
private void ConfigureHangfireJobs(IAppBuilder app, IContainer container) { app.UseHangfire(config => { config.UseAutofacActivator(container); config.UseSqlServerStorage( "CiDashboardContext", new SqlServerStorageOptions { QueuePollInterval = TimeSpan.FromSeconds(5) }); config.UseServer(); }); var refreshInfoCron = ConfigurationManager.AppSettings["RefreshInfoCron"]; if (string.IsNullOrEmpty(refreshInfoCron)) { refreshInfoCron = "*/5 * * * *"; } RecurringJob.RemoveIfExists("SendRefreshBuildResults"); RecurringJob.AddOrUpdate("SendRefreshBuildResults", () => container.Resolve <IRefreshInformation>().SendRefreshBuildResultsSync(), refreshInfoCron); }
public void Configuration(IAppBuilder app) { ConfigureAuth(app); app.UseHangfire( configuration => { configuration.UseServer(); configuration.UseStorage(new MongoStorage("mongodb://54.69.155.172/", "aswtruck")); configuration.UseDashboardPath("/hangfire"); }); // app.MapSignalR(); app.Map( "/signalr", map => { map.UseCors(CorsOptions.AllowAll); var hubConfiguration = new HubConfiguration { EnableJSONP = true }; map.RunSignalR(hubConfiguration); }); }
public static void Configure(IAppBuilder app, IUnityContainer container, string databaseConnectionStringName, AuthenticationOptions authenticationOptions) { app.CreatePerOwinContext(() => container.Resolve <SecurityDbContext>()); app.CreatePerOwinContext(() => container.Resolve <ApplicationUserManager>()); if (authenticationOptions.CookiesEnabled) { // Enable the application to use a cookie to store information for the signed in user // and to use a cookie to temporarily store information about a user logging in with a third party login provider // Configure the sign in cookie app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, //LoginPath = new PathString("/Account/Logon"), Provider = new CookieAuthenticationProvider { // Enables the application to validate the security stamp when the user logs in. // This is a security feature which is used when you change a password or add an external login to your account. OnValidateIdentity = SecurityStampValidator.OnValidateIdentity <ApplicationUserManager, ApplicationUser>( validateInterval: authenticationOptions.CookiesValidateInterval, regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) } }); } if (authenticationOptions.BearerTokensEnabled) { app.UseOAuthBearerTokens(new OAuthAuthorizationServerOptions { TokenEndpointPath = new PathString("/Token"), AuthorizeEndpointPath = new PathString("/Account/Authorize"), Provider = new ApplicationOAuthProvider(PublicClientId), AccessTokenExpireTimeSpan = authenticationOptions.BearerTokensExpireTimeSpan, AllowInsecureHttp = true }); } if (authenticationOptions.HmacEnabled || authenticationOptions.ApiKeysEnabled) { var apiAccountProvider = container.Resolve <IApiAccountProvider>(); var claimsIdentityProvider = container.Resolve <IClaimsIdentityProvider>(); var cacheManager = container.Resolve <CacheManager>(); var cacheSettings = new[] { new CacheSettings(HmacAuthenticationHandler.CacheGroup, TimeSpan.FromSeconds(60)) }; cacheManager.AddCacheSettings(cacheSettings); if (authenticationOptions.HmacEnabled) { app.UseHmacAuthentication(new HmacAuthenticationOptions { ApiCredentialsProvider = apiAccountProvider, IdentityProvider = claimsIdentityProvider, CacheManager = cacheManager, SignatureValidityPeriod = authenticationOptions.HmacSignatureValidityPeriod }); } if (authenticationOptions.ApiKeysEnabled) { app.UseApiKeysAuthentication(new ApiKeysAuthenticationOptions { ApiCredentialsProvider = apiAccountProvider, IdentityProvider = claimsIdentityProvider, CacheManager = cacheManager, HttpHeaderName = authenticationOptions.ApiKeysHttpHeaderName, QueryStringParameterName = authenticationOptions.ApiKeysQueryStringParameterName }); } } var permissionService = container.Resolve <IPermissionService>(); var moduleInitializerOptions = container.Resolve <IModuleInitializerOptions>(); app.UseHangfire(config => { config.UseUnityActivator(container); config.UseSqlServerStorage(databaseConnectionStringName, new SqlServerStorageOptions { PrepareSchemaIfNecessary = false, QueuePollInterval = TimeSpan.FromSeconds(60) /* 15 Default value */ }); config.UseAuthorizationFilters(new PermissionBasedAuthorizationFilter(permissionService) { Permission = PredefinedPermissions.BackgroundJobsManage }); config.UseDashboardPath("/" + moduleInitializerOptions.RoutPrefix + "hangfire"); config.UseServer(); }); }
public static void Configure(IAppBuilder app, IUnityContainer container, string databaseConnectionStringName, AuthenticationOptions authenticationOptions) { app.CreatePerOwinContext(() => container.Resolve<SecurityDbContext>()); app.CreatePerOwinContext(() => container.Resolve<ApplicationUserManager>()); if (authenticationOptions.CookiesEnabled) { // Enable the application to use a cookie to store information for the signed in user // and to use a cookie to temporarily store information about a user logging in with a third party login provider // Configure the sign in cookie app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, //LoginPath = new PathString("/Account/Logon"), Provider = new CookieAuthenticationProvider { // Enables the application to validate the security stamp when the user logs in. // This is a security feature which is used when you change a password or add an external login to your account. OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>( validateInterval: authenticationOptions.CookiesValidateInterval, regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) } }); } if (authenticationOptions.BearerTokensEnabled) { app.UseOAuthBearerTokens(new OAuthAuthorizationServerOptions { TokenEndpointPath = new PathString("/Token"), AuthorizeEndpointPath = new PathString("/Account/Authorize"), Provider = new ApplicationOAuthProvider(PublicClientId), AccessTokenExpireTimeSpan = authenticationOptions.BearerTokensExpireTimeSpan, AllowInsecureHttp = true }); } if (authenticationOptions.HmacEnabled || authenticationOptions.ApiKeysEnabled) { var apiAccountProvider = container.Resolve<IApiAccountProvider>(); var claimsIdentityProvider = container.Resolve<IClaimsIdentityProvider>(); var cacheManager = container.Resolve<CacheManager>(); var cacheSettings = new[] { new CacheSettings(HmacAuthenticationHandler.CacheGroup, TimeSpan.FromSeconds(60)) }; cacheManager.AddCacheSettings(cacheSettings); if (authenticationOptions.HmacEnabled) { app.UseHmacAuthentication(new HmacAuthenticationOptions { ApiCredentialsProvider = apiAccountProvider, IdentityProvider = claimsIdentityProvider, CacheManager = cacheManager, SignatureValidityPeriod = authenticationOptions.HmacSignatureValidityPeriod }); } if (authenticationOptions.ApiKeysEnabled) { app.UseApiKeysAuthentication(new ApiKeysAuthenticationOptions { ApiCredentialsProvider = apiAccountProvider, IdentityProvider = claimsIdentityProvider, CacheManager = cacheManager, HttpHeaderName = authenticationOptions.ApiKeysHttpHeaderName, QueryStringParameterName = authenticationOptions.ApiKeysQueryStringParameterName }); } } var permissionService = container.Resolve<IPermissionService>(); app.UseHangfire(config => { config.UseUnityActivator(container); config.UseSqlServerStorage(databaseConnectionStringName, new SqlServerStorageOptions { PrepareSchemaIfNecessary = false, QueuePollInterval = TimeSpan.FromSeconds(60) /* 15 Default value */ }); config.UseAuthorizationFilters(new PermissionBasedAuthorizationFilter(permissionService) { Permission = PredefinedPermissions.BackgroundJobsManage }); config.UseServer(); }); }
/// <summary> /// Set up Owin middleware /// </summary> /// <param name="app"></param> public void Configuration(IAppBuilder app) { app.UserStatelessOAuthTokenValidation(_tokenValidator, _authTokenValidatorConfiguration); app.UseHangfire(_hangfireConfiguration); app.UseNancy(); }