Ignore:
Timestamp:
11/05/20 06:57:35 (3 years ago)
Author:
DimitarSlezenkovski <dslezenkovski@…>
Branches:
master
Children:
afc9a9a
Parents:
1f4846d
Message:

Add SystemService, Auth, fix a lil bugs :)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Farmatiko/Startup.cs

    r1f4846d rd23bf72  
    77using FarmatikoData;
    88using Microsoft.EntityFrameworkCore;
    9 using FarmatikoServices;
    109using FarmatikoData.FarmatikoRepoInterfaces;
    1110using FarmatikoData.FarmatikoRepo;
     
    1312using FarmatikoServices.Services;
    1413using Microsoft.Extensions.Logging;
     14using Microsoft.AspNetCore.Authentication.JwtBearer;
     15using Microsoft.IdentityModel.Tokens;
     16using System.Text;
     17using FarmatikoServices.Auth;
     18using FarmatikoServices.Infrastructure;
     19using System;
    1520
    1621namespace Farmatiko
     
    5964
    6065            services.AddTransient<ILogger, Logger<ProcessJSONService>>();
     66
     67            // services.AddTransient<ISystemService, SystemService>();
     68
     69
     70            var jwtTokenConfig = Configuration.GetSection("jwtTokenConfig").Get<JwtTokenConfig>();
     71            services.AddSingleton(jwtTokenConfig);
     72
     73            services.AddAuthentication(o =>
     74            {
     75                o.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
     76                o.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
     77                o.DefaultSignInScheme = JwtBearerDefaults.AuthenticationScheme;
     78            }).AddJwtBearer(x =>
     79            {
     80                x.RequireHttpsMetadata = true;
     81                x.SaveToken = true;
     82                x.TokenValidationParameters = new TokenValidationParameters
     83                {
     84                    ValidateIssuer = true,
     85                    ValidIssuer = jwtTokenConfig.Issuer,
     86                    ValidateIssuerSigningKey = true,
     87                    IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(jwtTokenConfig.Secret)),
     88                    ValidAudience = jwtTokenConfig.Audience,
     89                    ValidateAudience = true,
     90                    ValidateLifetime = true,
     91                    ClockSkew = TimeSpan.FromMinutes(1)
     92                };
     93            });
     94
     95            /*.AddJwtBearer(cfg =>
     96                     {
     97                         cfg.RequireHttpsMetadata = false;
     98                         cfg.SaveToken = true;
     99                         cfg.IncludeErrorDetails = true;
     100                         cfg.TokenValidationParameters = new TokenValidationParameters()
     101                         {
     102                             ValidIssuer = Configuration.GetSection("TokenIssuer").Value,
     103                             ValidAudience = Configuration.GetSection("TokenIssuer").Value,
     104                             IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration.GetSection("SecretKey").Value))
     105                         };
     106
     107                     });
     108*/
     109            services.AddSingleton<IJwtAuthManager, JwtAuthManager>();
     110            services.AddHostedService<JwtRefreshTokenCache>();
     111            services.AddScoped<IAuthService, AuthService>();
     112            //If we add imgs
     113            /*services.Configure<FormOptions>(o => {
     114                o.ValueLengthLimit = int.MaxValue;
     115                o.MultipartBodyLengthLimit = int.MaxValue;
     116                o.MemoryBufferThreshold = int.MaxValue;
     117            });*/
     118
    61119        }
    62120
     
    74132                app.UseHsts();
    75133            }
    76 
     134            app.UseExceptionHandler("/Error");
    77135            app.UseHttpsRedirection();
    78136            app.UseStaticFiles();
     137
     138            // if we add imgs
     139            /*app.UseStaticFiles(new StaticFileOptions()
     140            {
     141                FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot")),
     142                RequestPath = new PathString("/wwwroot")
     143            });*/
     144
    79145            if (!env.IsDevelopment())
    80146            {
     
    84150            app.UseRouting();
    85151
     152            app.UseAuthentication();
     153            app.UseAuthorization();
     154
    86155            app.UseCors(MyAllowSpecificOrigins);
    87156
     
    90159                endpoints.MapControllerRoute(
    91160                    name: "default",
    92                     pattern: "{controller}/{action=Index}/{id?}");
     161                    pattern: "api/{controller}/{action=Index}/{id?}");
    93162            });
    94163
Note: See TracChangeset for help on using the changeset viewer.