protected override void RequestStartup(TinyIoC.TinyIoCContainer container, Nancy.Bootstrapper.IPipelines pipelines, NancyContext context) { base.RequestStartup(container, pipelines, context); pipelines.BeforeRequest.AddItemToStartOfPipeline( ctx => { var facebookClient = container.Resolve<Facebook.FacebookClient>(); var fbUser = context.CurrentUser as IFacebookUser; if (fbUser != null) facebookClient.AccessToken = fbUser.FacebookAccessToken; #region SignedRequest if (context.Request != null) { dynamic signedRequest; var fbApp = container.Resolve<Facebook.IFacebookApplication>(); if (context.Request.TryParseFacebookSignedRequest(fbApp.AppId, fbApp.AppSecret, out signedRequest)) { if (signedRequest.ContainsKey("oauth_token")) facebookClient.AccessToken = signedRequest.oauth_token; } } #endregion return null; }); }
protected override void InitialiseInternal(TinyIoC.TinyIoCContainer container) { base.InitialiseInternal(container); var configuration = new StitchConfiguration() { /*Compilers = new[] { new StitchConfigurationCompiler {Type = typeof (JavaScriptCompiler).AssemblyQualifiedName, Extension = ".js"}, new StitchConfigurationCompiler {Type = typeof (CoffeeScriptCompiler).AssemblyQualifiedName, Extension = ".coffee"}, new StitchConfigurationCompiler {Type = typeof (jQueryTemplateCompiler).AssemblyQualifiedName, Extension = ".tmpl"} },*/ Files = new[] { new StitchConfiguration() { Name = "/Scripts/app.stitch", Paths = new[] { "Scripts/App" } } } }; container.Register<IStitchConfiguration>(configuration); Stitch.Enable(this, container.Resolve<IRootPathProvider>(), container.Resolve<IStitchConfiguration>()); }
private Response FacebookRequestStartup(TinyIoC.TinyIoCContainer container, Nancy.Bootstrapper.IPipelines pipelines, NancyContext context) { if (context.Request != null) { string[] perms = null; dynamic signedRequest; var fbApp = container.Resolve<IFacebookApplication>(); if (context.TryParseFacebookSignedRequest(fbApp.AppId, fbApp.AppSecret, out signedRequest)) { if (((System.Collections.Generic.IDictionary<string, object>)signedRequest).ContainsKey("oauth_token")) { var fb = container.Resolve<FacebookClient>(); fb.AccessToken = signedRequest.oauth_token; try { var result = (IDictionary<string, object>)fb.Get("me/permissions"); perms = ((IDictionary<string, object>)((IList<object>)result["data"])[0]).Keys.ToArray(); } catch (FacebookOAuthException) { // access token is invalid so perms=none // but don't throw exception. fb.AccessToken = null; } } } context.Items[CustomFacebookExtensions.FacebookPermsKey] = perms ?? new string[0]; } return null; }
protected override void InitialiseInternal(TinyIoC.TinyIoCContainer container) { base.InitialiseInternal(container); var formsAuthConfiguration = new FormsAuthenticationConfiguration() { Passphrase = "SuperSecretPass", Salt = "AndVinegarCrisps", HmacPassphrase = "UberSuperSecure", RedirectUrl = "/authentication/login", UsernameMapper = container.Resolve<IUsernameMapper>(), }; FormsAuthentication.Enable(this, formsAuthConfiguration); BeforeRequest += ctx => { var rootPathProvider = container.Resolve<IRootPathProvider>(); var staticFileExtensions = new Dictionary<string, string> { { "jpg", "image/jpg" }, { "png", "image/png" }, { "gif", "image/gif" }, { "css", "text/css" }, { "js", "text/javascript" } }; var requestedExtension = Path.GetExtension(ctx.Request.Uri); if (!string.IsNullOrEmpty(requestedExtension)) { var extensionWithoutDot = requestedExtension.Substring(1); if (staticFileExtensions.Keys.Any(x => x.Equals(extensionWithoutDot, StringComparison.InvariantCultureIgnoreCase))) { var fileName = Path.GetFileName(ctx.Request.Uri); if (fileName == null) { return null; } var filePath = Path.Combine(rootPathProvider.GetRootPath(), "content", fileName); return !File.Exists(filePath) ? null : new StaticFileResponse(filePath, staticFileExtensions[extensionWithoutDot]); } } return null; }; }
protected override void ApplicationStartup(TinyIoC.TinyIoCContainer container, IPipelines pipelines) { base.ApplicationStartup(container, pipelines); pipelines.EnableBasicAuthentication(new BasicAuthenticationConfiguration( container.Resolve<IUserValidator>(), "NancyFx")); }
protected override void ConfigureApplicationContainer(TinyIoC.TinyIoCContainer container) { base.ConfigureApplicationContainer(container); container.Register<Repositories.IAppUserMapper, Repositories.InMemoryAppUserMapper>().AsSingleton(); container.Register<IUserMapper>(container.Resolve<Repositories.IAppUserMapper>()); }
protected override void ApplicationStartup(TinyIoC.TinyIoCContainer container, Nancy.Bootstrapper.IPipelines pipelines) { base.ApplicationStartup(container, pipelines); StaticConfiguration.DisableErrorTraces = false; SassAndCoffee.Hooks.Enable(pipelines, new InMemoryCache(), container.Resolve<IRootPathProvider>()); }
protected override void InitialiseInternal(TinyIoC.TinyIoCContainer container) { base.InitialiseInternal(container); this.EnableBasicAuthentication(new BasicAuthenticationConfiguration( container.Resolve<IUserValidator>(), "MyRealm")); }
protected override void ConfigureApplicationContainer(TinyIoC.TinyIoCContainer container) { container.Register<IPersistentStore, PersistentStore>().AsSingleton(); var bus = StickABusInIt(container.Resolve<IPersistentStore>()); container.Register<ICommandSender, FakeBus>(bus); container.Register<IEventPublisher, FakeBus>(bus); }
protected override void ConfigureRequestContainer(TinyIoC.TinyIoCContainer container, NancyContext context) { base.ConfigureRequestContainer(container, context); container.Register< BlogService>(); var ravenSession = container.Resolve< IRavenSessionProvider >().GetSession(); container.Register( ravenSession ); container.Register< IBlogService, BlogService >(); }
protected override void ApplicationStartup(TinyIoC.TinyIoCContainer container, Nancy.Bootstrapper.IPipelines pipelines) { base.ApplicationStartup(container, pipelines); var formsAuthConfig = new FormsAuthenticationConfiguration { RedirectUrl = "~/facebook/login", UserMapper = container.Resolve<IUserMapper>() }; FormsAuthentication.Enable(pipelines, formsAuthConfig); }
protected override void RequestStartup(TinyIoC.TinyIoCContainer container, Nancy.Bootstrapper.IPipelines pipelines) { var formsAuthConfiguration = new FormsAuthenticationConfiguration { RedirectUrl = "~/login", UserMapper = container.Resolve<IUserMapper>(), }; FormsAuthentication.Enable(pipelines, formsAuthConfiguration); base.RequestStartup(container, pipelines); }
protected override void InitialiseInternal(TinyIoC.TinyIoCContainer container) { base.InitialiseInternal(container); var formsAuthConfiguration = new FormsAuthenticationConfiguration() { RedirectUrl = "~/login", UserMapper = container.Resolve<IUserMapper>(), }; FormsAuthentication.Enable(this, formsAuthConfiguration); }
protected override void ApplicationStartup(TinyIoC.TinyIoCContainer container, IPipelines pipelines) { base.ApplicationStartup(container, pipelines); pipelines.EnableBasicAuthentication(new BasicAuthenticationConfiguration( container.Resolve<IUserValidator>(), "RateAllTheThings")); pipelines.OnError += (context, exception) => { exception.SendToAirbrake(); return null; }; }
protected override void InitialiseInternal(TinyIoC.TinyIoCContainer container) { base.InitialiseInternal(container); var configuration = new StitchConfiguration() { Files = new[] { new StitchConfiguration() { Name = "/Scripts/app.stitch", Paths = new[] { "Scripts/App" } } } }; container.Register<IStitchConfiguration>(configuration); Stitch.Enable(this, container.Resolve<IRootPathProvider>(), container.Resolve<IStitchConfiguration>()); }
protected override void InitialiseInternal(TinyIoC.TinyIoCContainer container) { base.InitialiseInternal(container); var formsAuthConfiguration = new FormsAuthenticationConfiguration() { RedirectUrl = "~/login", UsernameMapper = container.Resolve<IUsernameMapper>(), }; FormsAuthentication.Enable(this, formsAuthConfiguration); //Adding a check on the pipeline to validate if the user is still authorised by facebook. this.BeforeRequest.AddItemToEndOfPipeline(FacebookAuthenticatedCheckPipeline.CheckUserIsNothAuthorisedByFacebookAnymore); }
protected override void InitialiseInternal(TinyIoC.TinyIoCContainer container) { #if DEBUG StaticConfiguration.DisableCaches = true; #endif base.InitialiseInternal(container); FormsAuthentication.Enable( this, new FormsAuthenticationConfiguration { RedirectUrl = "~/login", UsernameMapper = container.Resolve<IUsernameMapper>() }); }
protected override void InitialiseInternal(TinyIoC.TinyIoCContainer container) { base.InitialiseInternal(container); var formsAuthConfiguration = new FormsAuthenticationConfiguration() { Passphrase = "SuperSecretPass", Salt = "AndVinegarCrisps", HmacPassphrase = "UberSuperSecure", RedirectUrl = "/login", UsernameMapper = container.Resolve<IUsernameMapper>(), }; FormsAuthentication.Enable(this, formsAuthConfiguration); }
protected override void RequestStartup(TinyIoC.TinyIoCContainer requestContainer, Bootstrapper.IPipelines pipelines) { // At request startup we modify the request pipelines to // include forms authentication - passing in our now request // scoped user name mapper. // // The pipelines passed in here are specific to this request, // so we can add/remove/update items in them as we please. var formsAuthConfiguration = new FormsAuthenticationConfiguration() { RedirectUrl = "~/login", UserMapper = requestContainer.Resolve<IUserMapper>(), }; FormsAuthentication.Enable(pipelines, formsAuthConfiguration); }
protected override void ApplicationStartup(TinyIoC.TinyIoCContainer container, Nancy.Bootstrapper.IPipelines pipelines) { base.ApplicationStartup(container, pipelines); // DataAnnotationsValidator.RegisterAdapter(typeof(MatchAttribute), (v, d) => new CustomDataAdapter((MatchAttribute)v)); Func<TinyIoCContainer, NamedParameterOverloads, IDocumentSession> factory = (ioccontainer, namedparams) => { return new RavenSessionProvider().GetSession(); }; container.Register<IDocumentSession>(factory); CleanUpDB(container.Resolve<IDocumentSession>()); //Raven.Client.Indexes.IndexCreation.CreateIndexes(typeof(Dinners_Index).Assembly, RavenSessionProvider.DocumentStore); //pipelines.OnError += (context, exception) => //{ // Elmah.ErrorSignal.FromCurrentContext().Raise(exception); // return null; //}; }
protected override void InitialiseInternal(TinyIoC.TinyIoCContainer container) { base.InitialiseInternal(container); BeforeRequest += ctx => { var rootPathProvider = container.Resolve<IRootPathProvider>(); var staticFileExtensions = new Dictionary<string, string> { {"jpg", "image/jpeg"}, {"png", "image/png"}, {"gif", "image/gif"}, {"css", "text/css"}, {"js", "text/javascript"} }; var requestedExtension = Path.GetExtension(ctx.Request.Url.Path); if (!string.IsNullOrEmpty(requestedExtension)) { var extensionWithoutDot = requestedExtension.Substring(1); if (staticFileExtensions.Keys.Any(x => x.Equals(extensionWithoutDot, StringComparison.InvariantCultureIgnoreCase))) { var fileName = Path.GetFileName(ctx.Request.Url.Path); if (fileName == null) return null; var filePath = Path.Combine(rootPathProvider.GetRootPath(), fileName); return !File.Exists(filePath) ? null : new GenericFileResponse(filePath, staticFileExtensions[extensionWithoutDot]); } } return null; }; }
protected override void ApplicationStartup(TinyIoC.TinyIoCContainer container, Nancy.Bootstrapper.IPipelines pipelines) { base.ApplicationStartup(container, pipelines); var documentStore = new EmbeddableDocumentStore { DataDirectory = "Data" }; documentStore.Configuration.DefaultStorageTypeName = "munin"; documentStore.Initialize(); container.Register<IDocumentStore>(documentStore); container.Register<IDocumentSession>((c, o) => c.Resolve<IDocumentStore>().OpenSession()); container.Register<IObjectMapper, ObjectMapper>().AsSingleton(); container.Register<IHasher, Sha256Hasher>().AsSingleton(); container.Register<IEnvironment, Environment>().AsSingleton(); container.RegisterMultiple<IDeploymentStep>(new [] { typeof(DownloadPackageStep), typeof(UnpackPackageStep), typeof(DeployApplicationStep) }).AsMultiInstance(); container.Register<IDeploymentPipeline, DeploymentPipeline>().AsMultiInstance(); container.Register<IDeploymentWatcher, DeploymentWatcher>(); container.Register<IWebClient, WebClient>(); container.Resolve<IDeploymentWatcher>().Start(); }
protected override void ApplicationStartup(TinyIoC.TinyIoCContainer container, IPipelines pipeline) { container.Register<IAccountService, AccountService>().AsSingleton(); base.ApplicationStartup(container, pipeline); pipeline.EnableBasicAuthentication(new BasicAuthenticationConfiguration(container.Resolve<IUserValidator>(),"AgbaraVOIP")); }
protected override void InitialiseInternal(TinyIoC.TinyIoCContainer container) { base.InitialiseInternal(container); SassAndCoffee.Hooks.Enable(this, new InMemoryCache(), container.Resolve<IRootPathProvider>()); }
private void RegisterFacebookOAuthClientPerRequest(TinyIoC.TinyIoCContainer container, NancyContext context) { var facebookOAuthClient = new Facebook.FacebookOAuthClient(container.Resolve<Facebook.IFacebookApplication>()) { RedirectUri = new Uri("http://localhost:45254" + context.ToFullPath("~/facebook/login/callback")) }; container.Register(facebookOAuthClient); }
protected override void ConfigureApplicationContainer(TinyIoC.TinyIoCContainer container) { fact = new CustomDBFactory(); fusermapper = new FakeUserMapper(fact); container.Register<IDBFactory>(fact); container.Register<FakeUserMapper>(); base.ConfigureApplicationContainer(container); DB = container.Resolve<IDBFactory>().DB(); }