58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using Microsoft.AspNetCore.Authentication.JwtBearer;
 | |
| using Microsoft.IdentityModel.Tokens;
 | |
| using System.IdentityModel.Tokens.Jwt;
 | |
| using System.Security.Claims;
 | |
| using System.Text;
 | |
| using WebApp;
 | |
| 
 | |
| var builder = WebApplication.CreateBuilder(args);
 | |
| 
 | |
| // Add services to the container.
 | |
| builder.Services.AddRazorPages();
 | |
| 
 | |
| builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
 | |
|     .AddJwtBearer(options =>
 | |
|     {
 | |
|         var secretKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(builder.Configuration["SecretKey"]));
 | |
|         options.TokenValidationParameters = new()
 | |
|         {
 | |
|             ValidateLifetime = true,
 | |
|             IssuerSigningKey = secretKey,
 | |
|             ValidateIssuer = false,
 | |
|             ValidateAudience = false,
 | |
|         };
 | |
|         options.Events = new JwtBearerEvents()
 | |
|         {
 | |
|             OnMessageReceived = context =>
 | |
|             {
 | |
|                 // Ïîëó÷àåì èç êóêèñ JWT òîêåí
 | |
|                 context.Token = context.Request.Cookies["21gunsthebest"];
 | |
|                 return Task.CompletedTask;
 | |
|             }
 | |
|         };
 | |
|     });
 | |
| builder.Services.AddAuthorization();
 | |
| // Ïîäêëþ÷àåìñÿ ê API
 | |
| APIClient.Connect(builder.Configuration);
 | |
| 
 | |
| var app = builder.Build();
 | |
| 
 | |
| // Configure the HTTP request pipeline.
 | |
| if (!app.Environment.IsDevelopment())
 | |
| {
 | |
|     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.UseStaticFiles();
 | |
| 
 | |
| app.UseRouting();
 | |
| 
 | |
| app.UseAuthentication();
 | |
| app.UseAuthorization();
 | |
| 
 | |
| app.MapRazorPages();
 | |
| 
 | |
| app.Run(); |