Example #1
0
        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;
        }
Example #2
0
        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;
 }