/// <summary> /// Perform any initialisation tasks /// </summary> /// <param name="pipelines">Application pipelines</param> public void Initialize(IApplicationPipelines pipelines) { pipelines.AfterRequest.AddItemToEndOfPipeline( context => { if (context.Response == null || context.Response.Cookies == null) { return; } if (context.Items.ContainsKey(CsrfToken.DEFAULT_CSRF_KEY)) { context.Response.Cookies.Add(new NancyCookie(CsrfToken.DEFAULT_CSRF_KEY, (string)context.Items[CsrfToken.DEFAULT_CSRF_KEY], true)); return; } if (context.Request.Cookies.ContainsKey(CsrfToken.DEFAULT_CSRF_KEY)) { context.Items[CsrfToken.DEFAULT_CSRF_KEY] = HttpUtility.UrlDecode(context.Request.Cookies[CsrfToken.DEFAULT_CSRF_KEY]); return; } var token = new CsrfToken { CreatedDate = DateTime.Now, }; token.CreateRandomBytes(); token.CreateHmac(CryptographyConfiguration.HmacProvider); var tokenString = ObjectSerializer.Serialize(token); context.Items[CsrfToken.DEFAULT_CSRF_KEY] = tokenString; context.Response.Cookies.Add(new NancyCookie(CsrfToken.DEFAULT_CSRF_KEY, tokenString, true)); }); }
public static void Enable(IApplicationPipelines applicationPipelines, IRootPathProvider rootPathProvider, IStitchConfiguration configuration) { if (applicationPipelines == null) { throw new ArgumentNullException("applicationPipelines"); } if (configuration == null) { throw new ArgumentNullException("configuration"); } if (rootPathProvider == null) { throw new ArgumentNullException("rootPathProvider"); } var compilerTypes = from type in AppDomainAssemblyTypeScanner.Types where typeof(ICompile).IsAssignableFrom(type) select type; var compilers = compilerTypes.Select(compiler => (ICompile) Activator.CreateInstance(compiler)).ToList(); applicationPipelines.BeforeRequest.AddItemToStartOfPipeline(GetStitchResponse(compilers, rootPathProvider, configuration)); }
public void Initialize(IApplicationPipelines pipelines) { foreach (var viewEngine in viewEngines) { viewEngine.Initialize(CreateViewEngineStartupContext(viewEngine)); } }
public static void Enable(IApplicationPipelines applicationPipelines, OAuthConfiguration configuration) { //Uri authorizationEndpoint, Uri tokenEndpoint) { Configuration = configuration; applicationPipelines.BeforeRequest.AddItemToStartOfPipeline(Before()); }
/// <summary> /// <para> /// Enable SassAndCoffee support in the application. /// </para> /// <para> /// SassAndCoffee supports on the fly compilation and caching of CoffeeScript and Sass, /// along with concatenation and minification. /// </para> /// </summary> /// <param name="pipelines">Application pipelines to hook into</param> /// <param name="cache">Cache provider to use</param> /// <param name="rootPathProvider">Root path provider</param> public static void Enable(IApplicationPipelines pipelines, ICompiledCache cache, IRootPathProvider rootPathProvider) { var host = new NancyCompilerHost(rootPathProvider); var compiler = new ContentCompiler(host, cache); pipelines.BeforeRequest.AddItemToStartOfPipeline(GetPipelineHook(compiler)); }
/// <summary> /// Initialise and add cookie based session hooks to the application pipeine /// </summary> /// <param name="applicationPipelines">Application pipelines</param> /// <param name="encryptionProvider">Encryption provider for encrypting cookies</param> /// <param name="hmacProvider">The hmac provider</param> /// <param name="passPhrase">Encryption pass phrase</param> /// <param name="salt">Encryption salt</param> /// <param name="hmacPassphrase">The hmac passphrase</param> /// <returns>Formatter selector for choosing a non-default formatter</returns> public static IFormatterSelector Enable(IApplicationPipelines applicationPipelines, IEncryptionProvider encryptionProvider, IHmacProvider hmacProvider, string passPhrase, string salt, string hmacPassphrase) { var sessionStore = new CookieBasedSessions(encryptionProvider, hmacProvider, passPhrase, salt, hmacPassphrase, new DefaultSessionObjectFormatter()); applicationPipelines.BeforeRequest.AddItemToEndOfPipeline(ctx => LoadSession(ctx, sessionStore)); applicationPipelines.AfterRequest.AddItemToEndOfPipeline(ctx => SaveSession(ctx, sessionStore)); return(sessionStore); }
/// <summary> /// Initialise and add cookie based session hooks to the application pipeine /// </summary> /// <param name="applicationPipelines">Application pipelines</param> /// <param name="encryptionProvider">Encryption provider for encrypting cookies</param> /// <param name="passPhrase">Encryption pass phrase</param> /// <param name="salt">Encryption salt</param> /// <returns>Formatter selector for choosing a non-default formatter</returns> public static IFormatterSelector Enable(IApplicationPipelines applicationPipelines, IEncryptionProvider encryptionProvider, string passPhrase, string salt) { var sessionStore = new CookieBasedSessions(encryptionProvider, passPhrase, salt, new DefaultSessionObjectFormatter()); applicationPipelines.BeforeRequest.AddItemToEndOfPipeline(ctx => LoadSession(ctx, sessionStore)); applicationPipelines.AfterRequest.AddItemToEndOfPipeline(ctx => SaveSession(ctx, sessionStore)); return sessionStore; }
/// <summary> /// Initialise and add cookie based session hooks to the application pipeine /// </summary> /// <param name="applicationPipelines">Application pipelines</param> /// <param name="cryptographyConfiguration">Cryptography configuration</param> /// <returns>Formatter selector for choosing a non-default serializer</returns> public static IObjectSerializerSelector Enable(IApplicationPipelines applicationPipelines, CryptographyConfiguration cryptographyConfiguration) { var sessionStore = new CookieBasedSessions(cryptographyConfiguration.EncryptionProvider, cryptographyConfiguration.HmacProvider, new DefaultObjectSerializer()); applicationPipelines.BeforeRequest.AddItemToEndOfPipeline(ctx => LoadSession(ctx, sessionStore)); applicationPipelines.AfterRequest.AddItemToEndOfPipeline(ctx => SaveSession(ctx, sessionStore)); return sessionStore; }
/// <summary> /// Initialise and add cookie based session hooks to the application pipeine /// </summary> /// <param name="applicationPipelines">Application pipelines</param> /// <param name="cryptographyConfiguration">Cryptography configuration</param> /// <returns>Formatter selector for choosing a non-default serializer</returns> public static IObjectSerializerSelector Enable(IApplicationPipelines applicationPipelines, CryptographyConfiguration cryptographyConfiguration) { var sessionStore = new CookieBasedSessions(cryptographyConfiguration.EncryptionProvider, cryptographyConfiguration.HmacProvider, new DefaultObjectSerializer()); applicationPipelines.BeforeRequest.AddItemToEndOfPipeline(ctx => LoadSession(ctx, sessionStore)); applicationPipelines.AfterRequest.AddItemToEndOfPipeline(ctx => SaveSession(ctx, sessionStore)); return(sessionStore); }
public BasicAuthenticationFixture() { this.config = new BasicAuthenticationConfiguration(A.Fake<IUserValidator>(), "realm"); this.context = new NancyContext() { Request = new FakeRequest("GET", "/") }; this.hooks = new FakeApplicationPipelines(); BasicAuthentication.Enable(this.hooks, this.config); }
/// <summary> /// Perform any initialisation tasks /// </summary> public void Initialize(IApplicationPipelines pipelines) { var item = new PipelineItem<Func<NancyContext, Response>>("Static content", ctx => { return conventions .Select(convention => convention.Invoke(ctx, rootPathProvider.GetRootPath())) .FirstOrDefault(response => response != null); }); pipelines.BeforeRequest.AddItemToStartOfPipeline(item); }
/// <summary> /// Perform any initialisation tasks /// </summary> public void Initialize(IApplicationPipelines pipelines) { var item = new PipelineItem <Func <NancyContext, Response> >("Static content", ctx => { return(conventions .Select(convention => convention.Invoke(ctx, rootPathProvider.GetRootPath())) .FirstOrDefault(response => response != null)); }); pipelines.BeforeRequest.AddItemToStartOfPipeline(item); }
public CsrfStartupFixture() { this.pipelines = new MockApplicationPipelines(); var csrfStartup = new CsrfStartup( CryptographyConfiguration.Default, new DefaultObjectSerializer(), new DefaultCsrfTokenValidator(CryptographyConfiguration.Default)); csrfStartup.Initialize(this.pipelines); this.request = new FakeRequest("GET", "/"); this.response = new Response(); }
/// <summary> /// Enables basic authentication for the application /// </summary> /// <param name="applicationPipelines">Pipelines to add handlers to (usually "this")</param> /// <param name="configuration">Forms authentication configuration</param> public static void Enable(IApplicationPipelines applicationPipelines, BasicAuthenticationConfiguration configuration) { if (applicationPipelines == null) { throw new ArgumentNullException("applicationPipelines"); } if (configuration == null) { throw new ArgumentNullException("configuration"); } applicationPipelines.BeforeRequest.AddItemToStartOfPipeline(GetCredentialRetrievalHook(configuration)); applicationPipelines.AfterRequest.AddItemToEndOfPipeline(GetAuthenticationPromptHook(configuration)); }
/// <summary> /// Enables forms authentication for the application /// </summary> /// <param name="applicationPipelines">Pipelines to add handlers to (usually "this")</param> /// <param name="configuration">Forms authentication configuration</param> public static void Enable(IApplicationPipelines applicationPipelines, FormsAuthenticationConfiguration configuration) { if (applicationPipelines == null) { throw new ArgumentNullException("applicationPipelines"); } if (configuration == null) { throw new ArgumentNullException("configuration"); } if (!configuration.IsValid) { throw new ArgumentException("Configuration is invalid", "configuration"); } currentConfiguration = configuration; applicationPipelines.BeforeRequest.AddItemToStartOfPipeline(GetLoadAuthenticationHook(configuration)); applicationPipelines.AfterRequest.AddItemToEndOfPipeline(GetRedirectToLoginHook(configuration)); }
public BasicAuthenticationFixture() { this.config = new BasicAuthenticationConfiguration(A.Fake<IUserValidator>(), "realm"); this.hooks = new FakeApplicationPipelines(); BasicAuthentication.Enable(this.hooks, this.config); }
/// <summary> /// Perform any initialisation tasks /// </summary> public void Initialize(IApplicationPipelines pipelines) { }
/// <summary> /// Initialise and add cookie based session hooks to the application pipeine with the default encryption provider. /// </summary> /// <param name="applicationPipelines">Application pipelines</param> /// <returns>Formatter selector for choosing a non-default serializer</returns> public static IObjectSerializerSelector Enable(IApplicationPipelines applicationPipelines) { return(Enable(applicationPipelines, CryptographyConfiguration.Default)); }
/// <summary> /// Perform any initialisation tasks /// </summary> /// <param name="pipelines">Application pipelines</param> public void Initialize(IApplicationPipelines pipelines) { }
/// <summary> /// Initialise and add cookie based session hooks to the application pipeine with the default encryption provider. /// </summary> /// <param name="applicationPipelines">Application pipelines</param> /// <returns>Formatter selector for choosing a non-default serializer</returns> public static IObjectSerializerSelector Enable(IApplicationPipelines applicationPipelines) { return Enable(applicationPipelines, CryptographyConfiguration.Default); }
/// <summary> /// Module requires basic authentication /// </summary> /// <param name="pipeline">Bootstrapper to enable</param> /// <param name="configuration">Basic authentication configuration</param> public static void EnableBasicAuthentication(this IApplicationPipelines pipeline, BasicAuthenticationConfiguration configuration) { BasicAuthentication.Enable(pipeline, configuration); }
public BasicAuthenticationFixture() { this.config = new BasicAuthenticationConfiguration(A.Fake <IUserValidator>(), "realm"); this.hooks = new FakeApplicationPipelines(); BasicAuthentication.Enable(this.hooks, this.config); }
/// <summary> /// Initialise and add cookie based session hooks to the application pipeine with the default encryption provider. /// </summary> /// <param name="applicationPipelines">Application pipelines</param> /// <param name="passPhrase">Encryption pass phrase</param> /// <param name="salt">Encryption salt</param> /// <param name="hmacPassphrase">The hmac passphrase</param> /// <returns>Formatter selector for choosing a non-default formatter</returns> public static IFormatterSelector Enable(IApplicationPipelines applicationPipelines, string passPhrase, string salt, string hmacPassphrase) { return Enable(applicationPipelines, new DefaultEncryptionProvider(), new DefaultHmacProvider(), passPhrase, salt, hmacPassphrase); }
/// <summary> /// Initialise and add cookie based session hooks to the application pipeine with the default encryption provider. /// </summary> /// <param name="applicationPipelines">Application pipelines</param> /// <param name="passPhrase">Encryption pass phrase</param> /// <param name="salt">Encryption salt</param> /// <param name="hmacPassphrase">The hmac passphrase</param> /// <returns>Formatter selector for choosing a non-default formatter</returns> public static IFormatterSelector Enable(IApplicationPipelines applicationPipelines, string passPhrase, string salt, string hmacPassphrase) { return(Enable(applicationPipelines, new DefaultEncryptionProvider(), new DefaultHmacProvider(), passPhrase, salt, hmacPassphrase)); }
/// <summary> /// Initialise and add cookie based session hooks to the application pipeine with the default encryption provider. /// </summary> /// <param name="applicationPipelines">Application pipelines</param> /// <returns>Formatter selector for choosing a non-default formatter</returns> public static IFormatterSelector Enable(IApplicationPipelines applicationPipelines) { return Enable(applicationPipelines, CryptographyConfiguration.Default); }