diff options
Diffstat (limited to 'src/server/Startup.cs')
| -rw-r--r-- | src/server/Startup.cs | 25 |
1 files changed, 22 insertions, 3 deletions
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<string>("DB_HOST");
+ var port = Configuration.GetValue("DB_PORT", "3306");
+ var user = Configuration.GetValue<string>("DB_USER");
+ var password = Configuration.GetValue<string>("DB_PASSWORD");
+ var name = Configuration.GetValue<string>("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<MainDbContext>(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";
|
