public static IContainer Configure(HttpConfiguration config, IOpenIdClientStore store) { var builder = new ContainerBuilder(); builder .RegisterType<AutoMapperConfig>() .As<IAutoMapperFactory>(); builder .RegisterType<OpenIdClientRegistrationService>() .As<IOpenIdClientRegistrationService>(); builder .RegisterType<OpenIdClientRegistrationValidator>() .As<IOpenIdClientRegistrationValidator>(); builder.RegisterInstance(store); //httpConfig.Filters.Add(new UnhandledExceptionFilter()); -- logging? builder.RegisterApiControllers(typeof(AutofacConfig).Assembly); builder.RegisterWebApiFilterProvider(config); var container = builder.Build(); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); return container; }
public static IAppBuilder UseOpenIdDynamicRegistrationProtocol(this IAppBuilder app, IOpenIdClientStore store) { var httpConfig = new HttpConfiguration(); var container = AutofacConfig.Configure(httpConfig, store); httpConfig.MapHttpAttributeRoutes(); httpConfig.Formatters.JsonFormatter.SerializerSettings.DefaultValueHandling = DefaultValueHandling.Ignore; app.UseAutofacWebApi(httpConfig); app.UseWebApi(httpConfig); return app; }
public OpenIdClientRegistrationService(IOpenIdClientRegistrationValidator validator, IOpenIdClientStore store) { this.validator = validator; this.store = store; }