private static void ConfigureApis(HttpSelfHostConfiguration configuration) { // authentication var authConfig = AuthenticationConfig.CreateConfiguration(); authConfig.ClaimsAuthenticationManager = new ConsultantsClaimsTransformer(); configuration.MessageHandlers.Add(new AuthenticationHandler(authConfig)); // authorization configuration.SetAuthorizationManager(new GlobalAuthorizationManager(DefaultPolicy.Deny)); // CORS CorsConfig.RegisterGlobal(configuration); // dependency resolver for authorization manager configuration.DependencyResolver = new AuthorizationDependencyResolver(); }
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); // default API route routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // API route with claims transformation routes.MapHttpRoute( name: "DefaultApiWithTransformation", routeTemplate: "api2/identity", defaults: new { controller = "Identity" }, constraints: null, handler: new ClaimsTransformationHandler(new ConsultantsClaimsTransformer(), GlobalConfiguration.Configuration) ); // API route with per-route authentication routes.MapHttpRoute( name: "DefaultApiPerRouteAuthN", routeTemplate: "api3/identity", defaults: new { controller = "Identity" }, constraints: null, handler: new AuthenticationHandler(AuthenticationConfig.CreateConfiguration(), GlobalConfiguration.Configuration) ); // default MVC route routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); }
public static void Register(HttpConfiguration config) { config.DependencyResolver = new BlueYonderResolver(); config.Formatters.Add(new AtomFormatter()); config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; AuthenticationConfiguration authenticationConfig = AuthenticationConfig.CreateConfiguration(); config.Routes.MapHttpRoute( name: "callback", routeTemplate: "FederationCallback", defaults: new { Controller = "FederationCallback" }); config.Routes.MapHttpRoute( name: "LocationWeatherApi", routeTemplate: "locations/{locationId}/weather", defaults: new { controller = "locations", action = "GetWeather" }, constraints: new { httpMethod = new HttpMethodConstraint(HttpMethod.Get) } ); config.Routes.MapHttpRoute( name: "TravelerReservationsApi", routeTemplate: "travelers/{travelerId}/reservations", defaults: new { controller = "reservations", id = RouteParameter.Optional }, constraints: null, handler: new AuthenticationHandler(authenticationConfig, GlobalConfiguration.Configuration)); config.Routes.MapHttpRoute( name: "ReservationsApi", routeTemplate: "Reservations/{id}", defaults: new { controller = "Reservations", action = "GetReservation" }, constraints: new { httpMethod = new HttpMethodConstraint(HttpMethod.Get) }, handler: new AuthenticationHandler(authenticationConfig, GlobalConfiguration.Configuration) ); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "{controller}/{id}", defaults: new { id = RouteParameter.Optional }, constraints: null, handler: new AuthenticationHandler(authenticationConfig, GlobalConfiguration.Configuration)); config.Formatters.JsonFormatter.SerializerSettings.Converters.Add( new StringEnumConverter()); }