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");
- }
})();