title: Add Owin Pipeline Middleware after OwinStartup for new Tenant
body: <p>I have a multi-tenant application where each tenant can define their own ClientID, Authority, etc for either WsFed or OpenIdConnect. All the tenants are registered in the OwinStartup as below:</p>
  
  <pre><code> public void Configuration(IAppBuilder app)
   {
      List&lt;WsFederationAuthenticationOptions&gt; WsFedTenantOptions = BuildWsFedTenantOptionsList();
      List&lt;OpenIdConnectAuthenticationOptions&gt; OpenIdConnectTenantOptions = BuildOpenIdConnectTenantOptionsList();
  
      app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
      app.UseCookieAuthentication(new CookieAuthenticationOptions() { CookieSecure = CookieSecureOption.Never });
  
      foreach (var WsFedTenantOption in WsFedTenantOptions)
          app.UseWsFederationAuthentication(WsFedTenantOption);
  
      foreach (var OpenIdConnectTenantOption in OpenIdConnectTenantOptions)
          app.UseOpenIdConnectAuthentication(OpenIdConnectTenantOption);
  
      ...
  }
  </code></pre>
  
  <p>It switches which STS to use via <code>context.Authentication.Challenge(AuthenticationType)</code>. This is working really well.</p>
  
  <p>The issue is that when a new tenant signs up, how do I access the <code>IAppBuilder</code> and add the new <code>AuthenticationOptions</code> without an Application Pool recycle?</p>