我已经通过 Identity Server 4 QuickStart 使用实体框架来持久存储配置和操作数据。在快速入门中,ApiResources 以代码的形式加载到数据库中。Api 秘密设置为
new ApiResource("api1", "My API") { ApiSecrets = { new Secret("secret".Sha256())} }
在 ApiResource 构造函数中。当在 Startup.InitializeDatabase 中将该 ApiResource 添加到 ConfigurationDbContext.ApiResources DbSet 时,
foreach(var resource in Config.GetApiResources()) { context.ApiResources.Add(resource.ToEntity()); } context.SaveChanges();
子 ApiSecrets 表中的记录在 ApiSecrets.Value 字段中包含可读的文本值。
K7gNU3sdo+OL0wNhqoVWhr3g6s1xYv72ol/pe/Unols=
我想通过 SQL 脚本管理我的配置数据,但我不知道如何正确设置 ApiSecrets.Value。我试过使用 T-SQL HASHBYTES('SHA2_256', 'secret'),但这会在 ApiSecrets.Value 中产生一个不可读的(我认为是二进制的)值。有没有办法通过 T-SQL 正确设置散列秘密?
12345678_0001
一只萌萌小番薯
侃侃尔雅
相关分类