using Abp.AspNetCore; using Abp.AspNetCore.Configuration; using Abp.AspNetCore.SignalR; using Abp.Modules; using Abp.Reflection.Extensions; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc.ApplicationParts; using Microsoft.Extensions.Configuration; using Microsoft.IdentityModel.Tokens; using System.Text; using Abp.Configuration.Startup; using VberAdmin.Authentication.JwtBearer; using VberAdmin.Configuration; using VberZero; using VberZero.Folders; using VberZero.Jwt; using VberZero.Navigation; using Abp.Web.Security.AntiForgery; namespace VberAdmin; [DependsOn( typeof(VberAdminApplicationModule), typeof(VberAdminEfModule), typeof(AbpAspNetCoreModule) , typeof(AbpAspNetCoreSignalRModule) )] public class VberAdminWebCoreModule : AbpModule { //private readonly IWebHostEnvironment _env; private readonly IConfigurationRoot _appConfiguration; public VberAdminWebCoreModule(IWebHostEnvironment env) { //_env = env; _appConfiguration = env.GetAppConfiguration(); } public override void PreInitialize() { Configuration.DefaultNameOrConnectionString = _appConfiguration.GetConnectionString( VberAdminConsts.ConnectionStringName ); Configuration.Modules.AbpAspNetCore() .CreateControllersForAppServices(typeof(VberAdminApplicationModule).GetAssembly(), VzConsts.AppApiName, false); Configuration.Modules.AbpWebCommon().AntiForgery.TokenCookieName = "XSRF-TOKEN-VberAdmin"; //Configuration.Modules.AbpWebCommon().AntiForgery.TokenHeaderName = "X-XSRF-TOKEN-VberAdmin"; Configuration.Navigation.Providers.Add(); ConfigureTokenAuth(); } private void ConfigureTokenAuth() { IocManager.Register(); var tokenAuthConfig = IocManager.Resolve(); tokenAuthConfig.SecurityKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(_appConfiguration["Authentication:JwtBearer:SecurityKey"])); tokenAuthConfig.Issuer = _appConfiguration["Authentication:JwtBearer:Issuer"]; tokenAuthConfig.Audience = _appConfiguration["Authentication:JwtBearer:Audience"]; tokenAuthConfig.SigningCredentials = new SigningCredentials(tokenAuthConfig.SecurityKey, SecurityAlgorithms.HmacSha256); tokenAuthConfig.Expiration = TimeSpan.FromDays(1); } public override void Initialize() { IocManager.RegisterAssemblyByConvention(typeof(VberAdminWebCoreModule).GetAssembly()); } public override void PostInitialize() { SetAppFolders(); IocManager.Resolve() .AddApplicationPartsIfNotAddedBefore(typeof(VberAdminWebCoreModule).Assembly); } private void SetAppFolders() { var appFolders = IocManager.Resolve(); appFolders.ProfileImagesFolder = $"Common{Path.DirectorySeparatorChar}Images{Path.DirectorySeparatorChar}AvatarPics"; appFolders.DownloadFolder = $"Common{Path.DirectorySeparatorChar}Download{Path.DirectorySeparatorChar}AttachFiles"; appFolders.UploadFolder = $"Common{Path.DirectorySeparatorChar}Upload{Path.DirectorySeparatorChar}AttachFiles"; } } public class vcv : IAbpAntiForgeryValidator { public bool IsValid(string token) { return true; } }