46c34f46e8
* WIP signalauth * Fist commit server config
73 lines
2.4 KiB
C#
73 lines
2.4 KiB
C#
using System;
|
|
using Microsoft.Owin;
|
|
using Owin;
|
|
using System.Web.Http;
|
|
using Microsoft.Owin.StaticFiles;
|
|
using System.IO;
|
|
using System.Reflection;
|
|
using Microsoft.Owin.FileSystems;
|
|
using System.Configuration;
|
|
using Microsoft.Owin.Security.OAuth;
|
|
using Step.Provider;
|
|
using Step.Config;
|
|
|
|
[assembly: OwinStartup(typeof(Step.App_Start.Startup))]
|
|
|
|
namespace Step.App_Start
|
|
{
|
|
public class Startup
|
|
{
|
|
public void Configuration(IAppBuilder app)
|
|
{
|
|
StartupConfigController.ReadStartUpConfig();
|
|
|
|
// Configure HTTP
|
|
HttpConfiguration config = new HttpConfiguration();
|
|
|
|
// Register Web API config
|
|
WebApiConfig.Register(config);
|
|
|
|
// Register Swagger config
|
|
SwaggerConfig.Register(config);
|
|
|
|
// Configure authentication
|
|
ConfigureOAuth(app);
|
|
|
|
app.UseWebApi(config);
|
|
|
|
// Register SignalR
|
|
app.MapSignalR();
|
|
var directoryBrowsing = ConfigurationManager.AppSettings["enableDirectoryBrowsing"] == "true";
|
|
|
|
string rootDir = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "..", "wwwroot");
|
|
var options = new FileServerOptions()
|
|
{
|
|
EnableDefaultFiles = !directoryBrowsing,
|
|
EnableDirectoryBrowsing = directoryBrowsing,
|
|
RequestPath = PathString.Empty,
|
|
FileSystem = new PhysicalFileSystem(rootDir)
|
|
};
|
|
|
|
app.UseFileServer(options);
|
|
}
|
|
|
|
private void ConfigureOAuth(IAppBuilder app)
|
|
{
|
|
OAuthAuthorizationServerOptions OAuthOptions = new OAuthAuthorizationServerOptions
|
|
{
|
|
// Login and Token generation end point
|
|
TokenEndpointPath = new PathString("/Token"),
|
|
Provider = new ApplicationOAuthProvider(),
|
|
// Bearer token expiration time
|
|
AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
|
|
//TODO: In modalità di produzione impostare AllowInsecureHttp = false
|
|
AllowInsecureHttp = true
|
|
};
|
|
// Set authorization options
|
|
app.UseOAuthAuthorizationServer(OAuthOptions);
|
|
// Set bearer oAuth as authentication method
|
|
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());
|
|
}
|
|
}
|
|
}
|