Provides utility functions for the Data Protection functionality in ASP.NET Core 1.0
Example #1
0
        /// <summary>
        /// Provides a static method for creating a standalone <see cref="SqlWebHookStore"/> instance.
        /// </summary>
        /// <param name="logger">The <see cref="ILogger"/> instance to use.</param>
        /// <returns>An initialized <see cref="SqlWebHookStore"/> instance.</returns>
        public static IWebHookStore CreateStore(ILogger logger)
        {
            SettingsDictionary settings  = CommonServices.GetSettings();
            IDataProtector     protector = DataSecurity.GetDataProtector();
            IWebHookStore      store     = new SqlWebHookStore(settings, protector, logger);

            return(store);
        }
Example #2
0
        /// <summary>
        /// Provides a static method for creating a standalone <see cref="AzureWebHookStore"/> instance.
        /// </summary>
        /// <param name="logger">The <see cref="ILogger"/> instance to use.</param>
        /// <returns>An initialized <see cref="AzureWebHookStore"/> instance.</returns>
        public static IWebHookStore CreateStore(ILogger logger)
        {
            SettingsDictionary settings       = CommonServices.GetSettings();
            IDataProtector     protector      = DataSecurity.GetDataProtector();
            IStorageManager    storageManager = StorageManager.GetInstance(logger);
            IWebHookStore      store          = new AzureWebHookStore(storageManager, settings, protector, logger);

            return(store);
        }
        public void GetDataProtector_ReturnsSingletonInstance()
        {
            // Act
            IDataProtector actual1 = DataSecurity.GetDataProtector();
            IDataProtector actual2 = DataSecurity.GetDataProtector();

            // Assert
            Assert.NotNull(actual1);
            Assert.Same(actual1, actual2);
        }
Example #4
0
        /// <summary>
        /// Provides a static method for creating a standalone <see cref="SqlWebHookStore"/> instance.
        /// </summary>
        /// <param name="logger">The <see cref="ILogger"/> instance to use.</param>
        /// <param name="encryptData">Indicates whether the data should be encrypted using <see cref="IDataProtector"/> while persisted.</param>
        /// <returns>An initialized <see cref="SqlWebHookStore"/> instance.</returns>
        public static IWebHookStore CreateStore(ILogger logger, bool encryptData)
        {
            SettingsDictionary settings = CommonServices.GetSettings();
            IWebHookStore      store;

            if (encryptData)
            {
                IDataProtector protector = DataSecurity.GetDataProtector();
                store = new SqlWebHookStore(settings, protector, logger);
            }
            else
            {
                store = new SqlWebHookStore(settings, logger);
            }
            return(store);
        }
Example #5
0
        /// <summary>
        /// Provides a static method for creating a standalone <see cref="AzureWebHookStore"/> instance.
        /// </summary>
        /// <param name="logger">The <see cref="ILogger"/> instance to use.</param>
        /// <param name="encryptData">Indicates whether the data should be encrypted using <see cref="IDataProtector"/> while persisted.</param>
        /// <returns>An initialized <see cref="AzureWebHookStore"/> instance.</returns>
        public static IWebHookStore CreateStore(ILogger logger, bool encryptData)
        {
            var           settings = CommonServices.GetSettings();
            IWebHookStore store;
            var           storageManager = StorageManager.GetInstance(logger);

            if (encryptData)
            {
                var protector = DataSecurity.GetDataProtector();
                store = new AzureWebHookStore(storageManager, settings, protector, logger);
            }
            else
            {
                store = new AzureWebHookStore(storageManager, settings, logger);
            }
            return(store);
        }
        /// <summary>
        /// Provides a static method for creating a standalone <see cref="SqlWebHookStore"/> instance.
        /// </summary>
        /// <param name="logger">The <see cref="ILogger"/> instance to use.</param>
        /// <param name="encryptData">Indicates whether the data should be encrypted using <see cref="IDataProtector"/> while persisted.</param>
        /// <param name="nameOrConnectionString">The custom connection string or name of the connection string application setting. Used to initialize <see cref="WebHookStoreContext"/>.</param>
        /// <param name="schemaName">The custom name of database schema. Used to initialize <see cref="WebHookStoreContext"/>.</param>
        /// <param name="tableName">The custom name of database table. Used to initialize <see cref="WebHookStoreContext"/>.</param>
        /// <returns>An initialized <see cref="SqlWebHookStore"/> instance.</returns>
        public static IWebHookStore CreateStore(
            ILogger logger,
            bool encryptData,
            string nameOrConnectionString,
            string schemaName,
            string tableName)
        {
            var           settings = CommonServices.GetSettings();
            IWebHookStore store;

            if (encryptData)
            {
                var protector = DataSecurity.GetDataProtector();
                store = new SqlWebHookStore(settings, protector, logger, nameOrConnectionString, schemaName, tableName);
            }
            else
            {
                store = new SqlWebHookStore(settings, logger, nameOrConnectionString, schemaName, tableName);
            }
            return(store);
        }