mirror of
https://github.com/bitwarden/server
synced 2025-12-12 06:13:43 +00:00
[SM-394] Secrets Manager (#2164)
Long lived feature branch for Secrets Manager Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com> Co-authored-by: cd-bitwarden <106776772+cd-bitwarden@users.noreply.github.com> Co-authored-by: CarleyDiaz-Bitwarden <103955722+CarleyDiaz-Bitwarden@users.noreply.github.com> Co-authored-by: Thomas Avery <tavery@bitwarden.com> Co-authored-by: Colton Hurst <colton@coltonhurst.com>
This commit is contained in:
@@ -17,7 +17,6 @@ using Bit.Core.Settings;
|
||||
using Bit.Core.Tokens;
|
||||
using Bit.Core.Utilities;
|
||||
using Bit.Infrastructure.Dapper;
|
||||
using Bit.Infrastructure.EntityFramework;
|
||||
using IdentityModel;
|
||||
using IdentityServer4.AccessTokenValidation;
|
||||
using IdentityServer4.Configuration;
|
||||
@@ -52,6 +51,7 @@ public static class ServiceCollectionExtensions
|
||||
var selectedDatabaseProvider = globalSettings.DatabaseProvider;
|
||||
var provider = SupportedDatabaseProviders.SqlServer;
|
||||
var connectionString = string.Empty;
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(selectedDatabaseProvider))
|
||||
{
|
||||
switch (selectedDatabaseProvider.ToLowerInvariant())
|
||||
@@ -70,16 +70,24 @@ public static class ServiceCollectionExtensions
|
||||
provider = SupportedDatabaseProviders.Sqlite;
|
||||
connectionString = globalSettings.Sqlite.ConnectionString;
|
||||
break;
|
||||
case "sqlserver":
|
||||
connectionString = globalSettings.SqlServer.ConnectionString;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var useEf = (provider != SupportedDatabaseProviders.SqlServer);
|
||||
|
||||
if (useEf)
|
||||
else
|
||||
{
|
||||
services.AddEFRepositories(globalSettings.SelfHosted, connectionString, provider);
|
||||
// Default to attempting to use SqlServer connection string if globalSettings.DatabaseProvider has no value.
|
||||
connectionString = globalSettings.SqlServer.ConnectionString;
|
||||
}
|
||||
|
||||
services.SetupEntityFramework(connectionString, provider);
|
||||
|
||||
if (provider != SupportedDatabaseProviders.SqlServer)
|
||||
{
|
||||
services.AddPasswordManagerEFRepositories(globalSettings.SelfHosted);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -337,9 +345,9 @@ public static class ServiceCollectionExtensions
|
||||
};
|
||||
options.ClaimsIdentity = new ClaimsIdentityOptions
|
||||
{
|
||||
SecurityStampClaimType = "sstamp",
|
||||
SecurityStampClaimType = Claims.SecurityStamp,
|
||||
UserNameClaimType = JwtClaimTypes.Email,
|
||||
UserIdClaimType = JwtClaimTypes.Subject
|
||||
UserIdClaimType = JwtClaimTypes.Subject,
|
||||
};
|
||||
options.Tokens.ChangeEmailTokenProvider = TokenOptions.DefaultEmailProvider;
|
||||
});
|
||||
@@ -623,7 +631,7 @@ public static class ServiceCollectionExtensions
|
||||
services.AddSingleton<IConnectionMultiplexer>(
|
||||
_ => ConnectionMultiplexer.Connect(globalSettings.Redis.ConnectionString));
|
||||
|
||||
// Explicitly register IDistributedCache to re-use existing IConnectionMultiplexer
|
||||
// Explicitly register IDistributedCache to re-use existing IConnectionMultiplexer
|
||||
// to reduce the number of redundant connections to the Redis instance
|
||||
services.AddSingleton<IDistributedCache>(s =>
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user