diff --git a/src/Api/Utilities/ExceptionHandlerFilterAttribute.cs b/src/Api/Utilities/ExceptionHandlerFilterAttribute.cs index c91b8869e2..463be6a557 100644 --- a/src/Api/Utilities/ExceptionHandlerFilterAttribute.cs +++ b/src/Api/Utilities/ExceptionHandlerFilterAttribute.cs @@ -7,6 +7,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Filters; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; +using Microsoft.IdentityModel.Tokens; namespace Bit.Api.Utilities { @@ -46,11 +47,15 @@ namespace Bit.Api.Utilities errorModel.Message = "Resource not found."; context.HttpContext.Response.StatusCode = 404; } + else if(exception is SecurityTokenValidationException) + { + errorModel.Message = "Invalid token."; + context.HttpContext.Response.StatusCode = 403; + } else { var logger = context.HttpContext.RequestServices.GetRequiredService>(); logger.LogError(0, exception, exception.Message); - logger.LogError(0, exception, exception.Message); errorModel.Message = "An unhandled server error has occured."; context.HttpContext.Response.StatusCode = 500;