Skip to content

Commit

Permalink
启用数据保护配置
Browse files Browse the repository at this point in the history
  • Loading branch information
zlzforever committed Aug 14, 2024
1 parent 3f027ec commit 264b808
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 31 deletions.
8 changes: 7 additions & 1 deletion src/SecurityTokenService/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,13 @@ internal static WebApplication CreateApp(string[] args)
mvcBuilder.AddDapr();
}

builder.AddDataProtection();
var enableDataProtection = builder.Configuration["DATA_PROTECTION_ENABLE"] ??
builder.Configuration["DataProtection:Enable"];
if ("true".Equals(enableDataProtection, StringComparison.OrdinalIgnoreCase))
{
builder.AddDataProtection();
}

builder.AddSmsSender();
builder.AddDbContext();
builder.AddIdentity();
Expand Down
31 changes: 1 addition & 30 deletions src/SecurityTokenService/WebApplicationBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -124,35 +124,6 @@ public static WebApplicationBuilder AddDbContext(this WebApplicationBuilder buil

public static WebApplicationBuilder AddDataProtection(this WebApplicationBuilder builder)
{
var connectionString = builder.Configuration.GetConnectionString("Identity");

if (builder.Configuration.GetDatabaseType() == "MySql")
{
using var conn = new MySqlConnection(connectionString);
conn.Execute(
$"""
create table if not exists system_data_protection_key
(
id int auto_increment primary key,
friendly_name varchar(64) not null,
xml varchar(2000) not null
);
"""
);
}
else
{
using var conn = new NpgsqlConnection(connectionString);
conn.Execute($"""
create table if not exists system_data_protection_key
(
id int auto_increment primary key,
friendly_name varchar(64) not null,
xml varchar(2000) not null
);
""");
}

// 影响隐私数据加密、AntiToken 加解密
var dataProtectionBuilder = builder.Services.AddDataProtection()
.SetApplicationName("SecurityTokenService")
Expand All @@ -161,7 +132,7 @@ xml varchar(2000) not null
.DisableAutomaticKeyGeneration()
;
var protectKeysWithCertPath =
builder.Configuration["PROTECT_KEYS_WITH_CERT"] ??
builder.Configuration["DATA_PROTECTION_PROTECT_KEYS_WITH_CERT"] ??
builder.Configuration["DataProtection:ProtectKeysWithCert"];
if (!string.IsNullOrEmpty(protectKeysWithCertPath))
{
Expand Down

0 comments on commit 264b808

Please sign in to comment.