diff --git a/Blog.Core.Api/Program.cs b/Blog.Core.Api/Program.cs index 0b9dfd3..bc2b51c 100644 --- a/Blog.Core.Api/Program.cs +++ b/Blog.Core.Api/Program.cs @@ -97,6 +97,7 @@ builder.Services.Configure(x => x.AllowSynchronousIO = tru .Configure(x => x.AllowSynchronousIO = true); builder.Services.AddSession(); +builder.Services.AddDataProtectionSetup(); builder.Services.AddControllers(o => { o.Filters.Add(typeof(GlobalExceptionsFilter)); diff --git a/Blog.Core.Extensions/Blog.Core.Extensions.csproj b/Blog.Core.Extensions/Blog.Core.Extensions.csproj index 96183e4..31a5021 100644 --- a/Blog.Core.Extensions/Blog.Core.Extensions.csproj +++ b/Blog.Core.Extensions/Blog.Core.Extensions.csproj @@ -10,6 +10,7 @@ + diff --git a/Blog.Core.Extensions/ServiceExtensions/DataProtectionSetup.cs b/Blog.Core.Extensions/ServiceExtensions/DataProtectionSetup.cs new file mode 100644 index 0000000..b14fdd9 --- /dev/null +++ b/Blog.Core.Extensions/ServiceExtensions/DataProtectionSetup.cs @@ -0,0 +1,21 @@ +using Blog.Core.Common; +using Blog.Core.Common.Option; +using Microsoft.AspNetCore.DataProtection; +using Microsoft.Extensions.DependencyInjection; +using StackExchange.Redis; + +namespace Blog.Core.Extensions.ServiceExtensions; + +public static class DataProtectionSetup +{ + public static void AddDataProtectionSetup(this IServiceCollection services) + { + var builder = services.AddDataProtection(); + + var redisOption = App.GetOptions(); + if (redisOption.Enable) + { + builder.PersistKeysToStackExchangeRedis(App.GetService()); + } + } +} \ No newline at end of file