From 78f5760563ed8ab34fac1bbe0bffc961e077c14e Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 15 Dec 2020 17:34:22 +0800 Subject: [PATCH] Added AbpSwashbuckleController --- .../Volo.Abp.Swashbuckle.csproj | 3 +- .../Swashbuckle/AbpSwashbuckleController.cs | 28 +++++++++++++++++++ .../Abp/Swashbuckle/AbpSwashbuckleModule.cs | 9 ++++-- .../wwwroot/swagger/ui/abp.swagger.js | 7 ++--- 4 files changed, 39 insertions(+), 8 deletions(-) create mode 100644 framework/src/Volo.Abp.Swashbuckle/Volo/Abp/Swashbuckle/AbpSwashbuckleController.cs diff --git a/framework/src/Volo.Abp.Swashbuckle/Volo.Abp.Swashbuckle.csproj b/framework/src/Volo.Abp.Swashbuckle/Volo.Abp.Swashbuckle.csproj index e9d5e1afe5..5847dad4db 100644 --- a/framework/src/Volo.Abp.Swashbuckle/Volo.Abp.Swashbuckle.csproj +++ b/framework/src/Volo.Abp.Swashbuckle/Volo.Abp.Swashbuckle.csproj @@ -4,7 +4,7 @@ - netstandard2.0 + net5 Volo.Abp.Swashbuckle Volo.Abp.Swashbuckle $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; @@ -19,6 +19,7 @@ + diff --git a/framework/src/Volo.Abp.Swashbuckle/Volo/Abp/Swashbuckle/AbpSwashbuckleController.cs b/framework/src/Volo.Abp.Swashbuckle/Volo/Abp/Swashbuckle/AbpSwashbuckleController.cs new file mode 100644 index 0000000000..e115ea4b4e --- /dev/null +++ b/framework/src/Volo.Abp.Swashbuckle/Volo/Abp/Swashbuckle/AbpSwashbuckleController.cs @@ -0,0 +1,28 @@ +using Microsoft.AspNetCore.Mvc; +using Volo.Abp.AspNetCore.Mvc; +using Volo.Abp.AspNetCore.Mvc.AntiForgery; +using Volo.Abp.Auditing; + +namespace Volo.Abp.Swashbuckle +{ + [Area("Abp")] + [Route("Abp/Swashbuckle/[action]")] + [DisableAuditing] + [RemoteService(false)] + [ApiExplorerSettings(IgnoreApi = true)] + public class AbpSwashbuckleController : AbpController + { + private readonly IAbpAntiForgeryManager _antiForgeryManager; + + public AbpSwashbuckleController(IAbpAntiForgeryManager antiForgeryManager) + { + _antiForgeryManager = antiForgeryManager; + } + + [HttpGet] + public void SetCsrfCookie() + { + _antiForgeryManager.SetCookie(); + } + } +} diff --git a/framework/src/Volo.Abp.Swashbuckle/Volo/Abp/Swashbuckle/AbpSwashbuckleModule.cs b/framework/src/Volo.Abp.Swashbuckle/Volo/Abp/Swashbuckle/AbpSwashbuckleModule.cs index 949ac2ca2d..6f111bbc10 100644 --- a/framework/src/Volo.Abp.Swashbuckle/Volo/Abp/Swashbuckle/AbpSwashbuckleModule.cs +++ b/framework/src/Volo.Abp.Swashbuckle/Volo/Abp/Swashbuckle/AbpSwashbuckleModule.cs @@ -1,9 +1,14 @@ -using Volo.Abp.Modularity; +using Microsoft.AspNetCore.Mvc.ApplicationParts; +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.AspNetCore.Mvc; +using Volo.Abp.Modularity; using Volo.Abp.VirtualFileSystem; namespace Volo.Abp.Swashbuckle { - [DependsOn(typeof(AbpVirtualFileSystemModule))] + [DependsOn( + typeof(AbpVirtualFileSystemModule), + typeof(AbpAspNetCoreMvcModule))] public class AbpSwashbuckleModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) diff --git a/framework/src/Volo.Abp.Swashbuckle/wwwroot/swagger/ui/abp.swagger.js b/framework/src/Volo.Abp.Swashbuckle/wwwroot/swagger/ui/abp.swagger.js index 1c6f295c5b..7c9c8bcc18 100644 --- a/framework/src/Volo.Abp.Swashbuckle/wwwroot/swagger/ui/abp.swagger.js +++ b/framework/src/Volo.Abp.Swashbuckle/wwwroot/swagger/ui/abp.swagger.js @@ -1,9 +1,10 @@ var abp = abp || {}; (function () { + abp.SwaggerUIBundle = function (configObject) { - abp.setAntiForgeryToken(); + fetch("/abp/Swashbuckle/SetCsrfCookie"); configObject.requestInterceptor = function (request) { @@ -16,8 +17,4 @@ return SwaggerUIBundle(configObject); } - - abp.setAntiForgeryToken = function(){ - fetch("/api/abp/application-configuration"); - } })();