public static HttpConfiguration Configure(SiteFinityPluginOptions options) { var config = new HttpConfiguration(); config.MapHttpAttributeRoutes(); config.SuppressDefaultHostAuthentication(); config.MessageHandlers.Insert(0, new KatanaDependencyResolver()); config.Services.Add(typeof(IExceptionLogger), new LogProviderExceptionLogger()); config.Services.Replace(typeof(IHttpControllerTypeResolver), new HttpControllerTypeResolver()); config.Formatters.Remove(config.Formatters.XmlFormatter); config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.LocalOnly; if (options.IdentityServerOptions.LoggingOptions.EnableWebApiDiagnostics) { var liblog = new TraceSource("LibLog"); liblog.Switch.Level = SourceLevels.All; liblog.Listeners.Add(new LibLogTraceListener()); var diag = config.EnableSystemDiagnosticsTracing(); diag.IsVerbose = options.IdentityServerOptions.LoggingOptions.WebApiDiagnosticsIsVerbose; diag.TraceSource = liblog; } if (options.IdentityServerOptions.LoggingOptions.EnableHttpLogging) { config.MessageHandlers.Add(new RequestResponseLogger()); } return(config); }
private void ConfigurePlugins(IAppBuilder pluginApp, IdentityServerOptions options) { var siteFinityOptions = new SiteFinityPluginOptions(options); // data sources for in-memory services siteFinityOptions.Factory.Register(new Registration <IEnumerable <SiteFinityRelyingParty> >(SiteFinityRelyingParties.Get())); siteFinityOptions.Factory.SiteFinityRelyingPartyService = new Registration <ISiteFinityRelyingPartyService>(typeof(InMemoryRelyingPartyService)); pluginApp.UseSiteFinityPlugin(siteFinityOptions); }
private void ConfigurePlugins(IAppBuilder pluginApp, IdentityServerOptions options) { var siteFinityOptions = new SiteFinityPluginOptions(options); // data sources for in-memory services siteFinityOptions.Factory.Register(new Registration<IEnumerable<SiteFinityRelyingParty>>(SiteFinityRelyingParties.Get())); siteFinityOptions.Factory.SiteFinityRelyingPartyService = new Registration<ISiteFinityRelyingPartyService>(typeof(InMemoryRelyingPartyService)); pluginApp.UseSiteFinityPlugin(siteFinityOptions); }
public static IContainer Configure(SiteFinityPluginOptions options) { if (options == null) { throw new ArgumentNullException("options"); } var factory = options.Factory; factory.Validate(); var builder = new ContainerBuilder(); // mandatory from factory builder.Register(factory.UserService); builder.Register(factory.SiteFinityRelyingPartyService); // Utilities builder.RegisterType <HttpUtility>().AsSelf(); //Token parser builder.RegisterType <SimpleWebTokenParser>().AsSelf(); // validators builder.RegisterType <SignInValidator>().AsSelf(); // processors builder.RegisterType <SignInResponseGenerator>().AsSelf(); //builder.RegisterType<MetadataResponseGenerator>().AsSelf(); // general services //builder.RegisterType<CookieMiddlewareTrackingCookieService>().As<ITrackingCookieService>(); builder.RegisterInstance(options).AsSelf(); builder.RegisterInstance(options.IdentityServerOptions).AsSelf(); // load core controller builder.RegisterApiControllers(typeof(SiteFinityController).Assembly); builder.Register(resolver => new OwinEnvironmentService(resolver.Resolve <IOwinContext>().Environment)); // register additional dependencies from identity server foreach (var registration in options.IdentityServerOptions.Factory.Registrations) { builder.Register(registration); } // add any additional dependencies from hosting application foreach (var registration in factory.Registrations) { builder.Register(registration, registration.Name); } return(builder.Build()); }
/// <summary> /// Add the WS-Federation plugin to the IdentityServer pipeline. /// </summary> /// <param name="app">The appBuilder.</param> /// <param name="options">The options.</param> /// <returns>The appBuilder</returns> /// <exception cref="System.ArgumentNullException">options</exception> public static IAppBuilder UseSiteFinityPlugin(this IAppBuilder app, SiteFinityPluginOptions options) { if (options == null) throw new ArgumentNullException("options"); options.Validate(); //options.IdentityServerOptions.ProtocolLogoutUrls.Add(options.LogoutUrl); app.Map(options.MapPath, sitefinityApp => { //sitefinityApp.UseCookieAuthentication(new CookieAuthenticationOptions //{ // AuthenticationType = WsFederationPluginOptions.CookieName, // AuthenticationMode = AuthenticationMode.Passive, // CookieName = options.IdentityServerOptions.AuthenticationOptions.CookieOptions.Prefix + WsFederationPluginOptions.CookieName, //}); sitefinityApp.Use<AutofacContainerMiddleware>(AutofacConfig.Configure(options)); SignatureConversions.AddConversions(app); sitefinityApp.UseWebApi(WebApiConfig.Configure(options)); }); return app; }