mirror of
https://github.com/PacktPublishing/Web-Development-with-Blazor-Second-Edition.git
synced 2025-12-06 05:32:03 +01:00
73 lines
1.8 KiB
C#
73 lines
1.8 KiB
C#
|
|
using Data.Models.Interfaces;
|
||
|
|
using Microsoft.AspNetCore.ResponseCompression;
|
||
|
|
using Data;
|
||
|
|
using Data.Models.Interfaces;
|
||
|
|
using BlazorWebAssembly.Server.Endpoints;
|
||
|
|
using Microsoft.AspNetCore.Authentication.JwtBearer;
|
||
|
|
|
||
|
|
var builder = WebApplication.CreateBuilder(args);
|
||
|
|
|
||
|
|
// Add services to the container.
|
||
|
|
|
||
|
|
builder.Services.AddControllersWithViews();
|
||
|
|
builder.Services.AddRazorPages();
|
||
|
|
|
||
|
|
builder.Services.AddOptions<BlogApiJsonDirectAccessSetting>()
|
||
|
|
.Configure(options =>
|
||
|
|
{
|
||
|
|
options.DataPath = @"..\..\..\..\Data\";
|
||
|
|
options.BlogPostsFolder = "Blogposts";
|
||
|
|
options.TagsFolder = "Tags";
|
||
|
|
options.CategoriesFolder = "Categories";
|
||
|
|
});
|
||
|
|
builder.Services.AddScoped<IBlogApi, BlogApiJsonDirectAccess>();
|
||
|
|
|
||
|
|
|
||
|
|
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
|
||
|
|
.AddJwtBearer(JwtBearerDefaults.AuthenticationScheme, c =>
|
||
|
|
{
|
||
|
|
c.Authority = builder.Configuration["Auth0:Authority"];
|
||
|
|
c.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters
|
||
|
|
{
|
||
|
|
ValidAudience = builder.Configuration["Auth0:Audience"],
|
||
|
|
ValidIssuer = builder.Configuration["Auth0:Authority"]
|
||
|
|
};
|
||
|
|
});
|
||
|
|
builder.Services.AddAuthorization();
|
||
|
|
|
||
|
|
|
||
|
|
var app = builder.Build();
|
||
|
|
|
||
|
|
// Configure the HTTP request pipeline.
|
||
|
|
if (app.Environment.IsDevelopment())
|
||
|
|
{
|
||
|
|
app.UseWebAssemblyDebugging();
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
app.UseExceptionHandler("/Error");
|
||
|
|
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
|
||
|
|
app.UseHsts();
|
||
|
|
}
|
||
|
|
|
||
|
|
app.UseHttpsRedirection();
|
||
|
|
|
||
|
|
app.UseBlazorFrameworkFiles();
|
||
|
|
app.UseStaticFiles();
|
||
|
|
|
||
|
|
app.UseRouting();
|
||
|
|
app.UseAuthentication();
|
||
|
|
app.UseAuthorization();
|
||
|
|
|
||
|
|
|
||
|
|
app.MapCategoryApi();
|
||
|
|
app.MapBlogPostApi();
|
||
|
|
app.MapTagApi();
|
||
|
|
|
||
|
|
|
||
|
|
app.MapRazorPages();
|
||
|
|
app.MapControllers();
|
||
|
|
app.MapFallbackToFile("index.html");
|
||
|
|
|
||
|
|
app.Run();
|