This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,55 @@
using System.Configuration;
using System.Web;
using Hangfire;
using IdentityServer3.AccessTokenValidation;
using Kreta.BusinessLogic;
using Kreta.Core.FeatureToggle;
using Kreta.Ellenorzo.WebApi;
using Kreta.Web.Logging.Logger;
using Microsoft.Owin;
using Owin;
using SimpleInjector;
using SimpleInjector.Integration.WebApi;
using SimpleInjector.Lifestyles;
using HangfireGlobalConfiguration = Hangfire.GlobalConfiguration;
using HttpGlobalConfiguration = System.Web.Http.GlobalConfiguration;
[assembly: OwinStartup(typeof(Startup))]
namespace Kreta.Ellenorzo.WebApi
{
public static class Startup
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope")]
public static void Configuration(IAppBuilder appBuilder)
{
HttpGlobalConfiguration.Configure(WebApiConfig.Register);
_ = log4net.Config.XmlConfigurator.Configure();
_ = HangfireGlobalConfiguration.Configuration.UseSqlServerStorage("HangfireConnectionString");
var container = new Container();
container.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle();
container.InjectMobileBusinessLogic();
container.Register<IFeatureContext>(() => FeatureContext.Instance, Lifestyle.Singleton);
container.Register(() => TraceLoggerFactory.Create(HttpContext.Current), Lifestyle.Scoped);
container.RegisterWebApiControllers(HttpGlobalConfiguration.Configuration);
container.Verify();
HttpGlobalConfiguration.Configuration.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container);
_ = appBuilder
.UseIdentityServerBearerTokenAuthentication(
new IdentityServerBearerTokenAuthenticationOptions
{
ValidationMode = ValidationMode.Local,
Authority = ConfigurationManager.AppSettings["idp:Authority"],
RequiredScopes = ConfigurationManager.AppSettings["idp:RequiredScopes"].Split(';')
})
.UseWebApi(HttpGlobalConfiguration.Configuration);
}
}
}