diff --git a/src/Api/Startup.cs b/src/Api/Startup.cs index 1223c6dc23..50f2b590a2 100644 --- a/src/Api/Startup.cs +++ b/src/Api/Startup.cs @@ -162,7 +162,16 @@ namespace Bit.Api if(!env.IsDevelopment()) { loggerFactory.AddLoggr( - LogLevel.Error, + (category, logLevel, eventId) => + { + // Bad security stamp exception + if(category == typeof(JwtBearerMiddleware).FullName && eventId.Id == 3 && logLevel == LogLevel.Error) + { + return false; + } + + return logLevel >= LogLevel.Error; + }, globalSettings.Loggr.LogKey, globalSettings.Loggr.ApiKey); } diff --git a/src/Core/Repositories/SqlServer/UserRepository.cs b/src/Core/Repositories/SqlServer/UserRepository.cs index 2d7950bce4..b150b55099 100644 --- a/src/Core/Repositories/SqlServer/UserRepository.cs +++ b/src/Core/Repositories/SqlServer/UserRepository.cs @@ -43,7 +43,14 @@ namespace Bit.Core.Repositories.SqlServer public override async Task DeleteAsync(User user) { - await base.DeleteAsync(user); + using(var connection = new SqlConnection(ConnectionString)) + { + await connection.ExecuteAsync( + $"[{Schema}].[{Table}_DeleteById]", + new { Id = user.Id }, + commandType: CommandType.StoredProcedure, + commandTimeout: 60); + } } } } diff --git a/src/Sql/dbo/Stored Procedures/User_DeleteById.sql b/src/Sql/dbo/Stored Procedures/User_DeleteById.sql index 5176bde68a..f6bb3207d5 100644 --- a/src/Sql/dbo/Stored Procedures/User_DeleteById.sql +++ b/src/Sql/dbo/Stored Procedures/User_DeleteById.sql @@ -1,5 +1,6 @@ CREATE PROCEDURE [dbo].[User_DeleteById] @Id UNIQUEIDENTIFIER +WITH RECOMPILE AS BEGIN SET NOCOUNT ON