From c7d72be2d1eed9b7fbfe719752ff800653d8c089 Mon Sep 17 00:00:00 2001 From: ivarlovlie Date: Sun, 2 Aug 2020 00:04:06 +0200 Subject: change db, set cookie --- src/server/Startup.cs | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'src/server/Startup.cs') diff --git a/src/server/Startup.cs b/src/server/Startup.cs index ad98370..7c7adf0 100644 --- a/src/server/Startup.cs +++ b/src/server/Startup.cs @@ -8,6 +8,8 @@ using Microsoft.Extensions.Hosting; using Dough.Models; using Dough.Utilities; using Dough.Models.Database; +using Microsoft.AspNetCore.CookiePolicy; +using Microsoft.AspNetCore.Http; namespace Dough { @@ -21,6 +23,16 @@ namespace Dough public IConfiguration Configuration { get; } private const string MainCorsPolicy = "MainCorsPolicy"; + private string GetConnectionStringFromEnvironment() + { + var host = Configuration.GetValue("DB_HOST"); + var port = Configuration.GetValue("DB_PORT", "3306"); + var user = Configuration.GetValue("DB_USER"); + var password = Configuration.GetValue("DB_PASSWORD"); + var name = Configuration.GetValue("DB_NAME"); + return $"Server={host},{port};Database={name};User={user};Password={password}"; + } + public void ConfigureServices(IServiceCollection services) { @@ -37,14 +49,21 @@ namespace Dough }); services.AddDbContext(options => { - options.UseSqlite("Data Source=database.sqlite"); + options.UseMySql(GetConnectionStringFromEnvironment(), settings => + { + settings.EnableRetryOnFailure(3); + }); }); services.AddControllers(); - services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) - .AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, options => + services.AddAuthentication(Constants.AuthenticationScheme) + .AddCookie(Constants.AuthenticationScheme, options => { + options.Cookie.Name = "dough_session"; + options.Cookie.HttpOnly = true; + options.Cookie.SameSite = SameSiteMode.Strict; + options.Cookie.SecurePolicy = CookieSecurePolicy.SameAsRequest; options.LoginPath = "/api/account/login"; options.SlidingExpiration = true; options.LogoutPath = "/api/account/logout"; -- cgit v1.3