// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews(); services.AddCors( (ServiceObject) => { ServiceObject.AddPolicy("GeneralPolicy", (builder) => { builder.AllowAnyOrigin(); builder.AllowAnyHeader(); builder.AllowAnyMethod(); }); }); services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer((options) => { options.RequireHttpsMetadata = false; options.SaveToken = true; options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = true, ValidateAudience = true, ValidateLifetime = true, ValidateIssuerSigningKey = true, ValidIssuer = Configuration["Jwt:Issuer"], ValidAudience = Configuration["Jwt:Audience"], IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["Jwt:Key"])) }; }); services.AddSwaggerGen( (x) => { x.SwaggerDoc("v1", new OpenApiInfo() { Title = "Lennyouse", Version = "v1" }); //função anonima usar parenteses qdo tiver dois argumentos de entrada }); services.AddControllersWithViews().AddRazorRuntimeCompilation(); services.Configure <RazorViewEngineOptions>(o => { o.ViewLocationFormats.Clear(); o.ViewLocationFormats.Add("/Views/{1}/{0}" + RazorViewEngine.ViewExtension); o.ViewLocationFormats.Add("/Views/Shared/{0}" + RazorViewEngine.ViewExtension); o.ViewLocationFormats.Add("/Views/MenuInfoViews/{1}/{0}" + RazorViewEngine.ViewExtension); o.ViewLocationFormats.Add("/Views/RestaurantInfoViews/{1}/{0}" + RazorViewEngine.ViewExtension); o.ViewLocationFormats.Add("/Views/UserInfoViews/{1}/{0}" + RazorViewEngine.ViewExtension); }); }