diff --git a/src/OpenIddict/OpenIddictExtensions.cs b/src/OpenIddict/OpenIddictExtensions.cs index c1285db1..87d972f2 100644 --- a/src/OpenIddict/OpenIddictExtensions.cs +++ b/src/OpenIddict/OpenIddictExtensions.cs @@ -113,12 +113,13 @@ namespace Microsoft.AspNet.Builder { owin.UseXXssProtection(options => options.EnabledWithBlockMode()); }); #endif - - builder.UseStaticFiles(new StaticFileOptions { - FileProvider = new EmbeddedFileProvider( - assembly: Assembly.Load(new AssemblyName("OpenIddict.Assets")), - baseNamespace: "OpenIddict.Assets") - }); + if (!instance.UseCustomViews) { + builder.UseStaticFiles(new StaticFileOptions { + FileProvider = new EmbeddedFileProvider( + assembly: Assembly.Load(new AssemblyName("OpenIddict.Assets")), + baseNamespace: "OpenIddict.Assets") + }); + } builder.UseCors(options => { options.AllowAnyHeader(); @@ -192,9 +193,11 @@ namespace Microsoft.AspNet.Builder { // Update the Razor options to use an embedded provider // extracting its views from the current assembly. .AddRazorOptions(options => { - options.FileProvider = new EmbeddedFileProvider( - assembly: typeof(OpenIddictOptions).GetTypeInfo().Assembly, - baseNamespace: typeof(OpenIddictOptions).Namespace); + if (!instance.UseCustomViews) { + options.FileProvider = new EmbeddedFileProvider( + assembly: typeof(OpenIddictOptions).GetTypeInfo().Assembly, + baseNamespace: typeof(OpenIddictOptions).Namespace); + } }); // Register the sign-in manager in the isolated container. diff --git a/src/OpenIddict/OpenIddictOptions.cs b/src/OpenIddict/OpenIddictOptions.cs index e0bc1b9e..a43da165 100644 --- a/src/OpenIddict/OpenIddictOptions.cs +++ b/src/OpenIddict/OpenIddictOptions.cs @@ -79,5 +79,11 @@ namespace OpenIddict { /// Setting this option to false in production is strongly encouraged to mitigate man-in-the-middle attacks. /// public bool AllowInsecureHttp { get; set; } + + /// + /// Set to true to allow you to use your own views/styles/scripts in your server. + /// When using custom views you MUST provide Razor views for Authorize, Logout, and SignIn actions. + /// + public bool UseCustomViews { get; set; } } }