public VippsController(ApplicationDbContext context, ILogger <VippsController> logger, VippsSettings vippsSettings, IVippsApiClient vippsApiClient) { _context = context; _logger = logger; _vippsSettings = vippsSettings; _vippsApiClient = vippsApiClient; }
public PaymentController( ApplicationDbContext context, ILogger <CartController> logger, Config.StripeSettings stripeSettings, Site siteSetttings, IVippsApiClient vippsApiClient, VippsSettings vippsSettings) { _context = context; _logger = logger; _stripeSettings = stripeSettings; _site = siteSetttings; _vippsApiClient = vippsApiClient; _vippsSettings = vippsSettings; }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { var stripeSettings = new Config.StripeSettings(); Configuration.Bind("Stripe", stripeSettings); services.AddSingleton(stripeSettings); var vippsSettings = new VippsSettings(); Configuration.Bind("Vipps", vippsSettings); services.AddSingleton(vippsSettings); var site = new Site(); Configuration.Bind("Site", site); services.AddSingleton <Site>(site) .AddFeatureManagement(); services.AddHttpClient(); services.AddSingleton <IVippsApiClient, VippsApiClient>(); // Configure cookie policy services.Configure <CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); services.AddDbContext <ApplicationDbContext>(options => options.UseSqlite( Configuration.GetConnectionString("DefaultConnection"))); // Add Identity management services.AddDefaultIdentity <ApplicationUser>(options => options.SignIn.RequireConfirmedAccount = true) .AddRoles <IdentityRole>() .AddDefaultUI() .AddEntityFrameworkStores <ApplicationDbContext>(); services.Configure <IdentityOptions>(options => { // Password settings. options.Password.RequireDigit = true; options.Password.RequireLowercase = true; options.Password.RequireNonAlphanumeric = true; options.Password.RequireUppercase = true; options.Password.RequiredLength = 6; options.Password.RequiredUniqueChars = 1; // Lockout settings. options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(5); options.Lockout.MaxFailedAccessAttempts = 5; options.Lockout.AllowedForNewUsers = true; // User settings. options.User.AllowedUserNameCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@+"; options.User.RequireUniqueEmail = true; }); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "Sjop API", Version = "v1" }); }); services.AddAuthorization(options => { options.AddPolicy("RequireAdministratorRole", policy => policy.RequireRole("Admin")); }); services.AddDistributedMemoryCache(); services.AddSession(options => { options.Cookie.Name = ".Kurts.Kake"; // 30 minutes session options.IdleTimeout = TimeSpan.FromMinutes(30); options.Cookie.HttpOnly = true; options.Cookie.IsEssential = true; }); services.AddRazorPages() .AddRazorPagesOptions(options => { options.Conventions.AuthorizeFolder("/Admin", "RequireAdministratorRole"); }); services.AddMvc(option => option.EnableEndpointRouting = false) .AddNewtonsoftJson(opt => opt.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore); }