From 07dd90a705a221366d01a656e36f99f46ad8becc Mon Sep 17 00:00:00 2001 From: Leendert de Borst Date: Fri, 20 Dec 2024 16:52:05 +0100 Subject: [PATCH] Add public registration enabled check to client (#343) --- src/AliasVault.Client/Auth/Pages/Login.razor | 10 +++++++--- src/AliasVault.Client/Auth/Pages/Start.razor | 10 +++++++--- src/AliasVault.Client/Config.cs | 5 +++++ src/AliasVault.Client/entrypoint.sh | 3 +++ src/AliasVault.Client/wwwroot/appsettings.json | 3 ++- 5 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/AliasVault.Client/Auth/Pages/Login.razor b/src/AliasVault.Client/Auth/Pages/Login.razor index 9c3fc623d..ef507f00e 100644 --- a/src/AliasVault.Client/Auth/Pages/Login.razor +++ b/src/AliasVault.Client/Auth/Pages/Login.razor @@ -1,6 +1,7 @@ @page "/user/login" @inherits AliasVault.Client.Auth.Pages.Base.LoginBase @layout Auth.Layout.MainLayout +@inject Config Config @attribute [AllowAnonymous] @using System.Text.Json @using AliasVault.Shared.Models.WebApi.Auth @@ -103,9 +104,12 @@ else -
- No account yet? Create new vault -
+ @if (Config.PublicRegistrationEnabled) + { +
+ No account yet? Create new vault +
+ } } diff --git a/src/AliasVault.Client/Auth/Pages/Start.razor b/src/AliasVault.Client/Auth/Pages/Start.razor index 94df2ab91..2e44412e9 100644 --- a/src/AliasVault.Client/Auth/Pages/Start.razor +++ b/src/AliasVault.Client/Auth/Pages/Start.razor @@ -2,6 +2,7 @@ @using AliasVault.Client.Auth.Components @inherits AliasVault.Client.Auth.Pages.Base.LoginBase @layout Auth.Layout.EmptyLayout +@inject Config Config @attribute [AllowAnonymous]
@@ -22,9 +23,12 @@ Your Privacy. Protected.

- - Create new vault - + @if (Config.PublicRegistrationEnabled) + { + + Create new vault + + } Log in with existing account diff --git a/src/AliasVault.Client/Config.cs b/src/AliasVault.Client/Config.cs index 1295bd48e..bbd6b1460 100644 --- a/src/AliasVault.Client/Config.cs +++ b/src/AliasVault.Client/Config.cs @@ -62,4 +62,9 @@ public class Config /// Gets or sets the support email address that users can contact for password recovery. /// public string? SupportEmail { get; set; } + + /// + /// Gets or sets a value indicating whether public registration is enabled. + /// + public bool PublicRegistrationEnabled { get; set; } } diff --git a/src/AliasVault.Client/entrypoint.sh b/src/AliasVault.Client/entrypoint.sh index 6da3fa605..a07a5dab4 100755 --- a/src/AliasVault.Client/entrypoint.sh +++ b/src/AliasVault.Client/entrypoint.sh @@ -41,5 +41,8 @@ else sed -i "s|\"SupportEmail\": \".*\"|\"SupportEmail\": \"\"|g" /usr/share/nginx/html/appsettings.json fi +# Update public registration enabled in appsettings.json +sed -i "s|\"PublicRegistrationEnabled\": \".*\"|\"PublicRegistrationEnabled\": \"$PUBLIC_REGISTRATION_ENABLED\"|g" /usr/share/nginx/html/appsettings.json + # Start the application nginx -g "daemon off;" diff --git a/src/AliasVault.Client/wwwroot/appsettings.json b/src/AliasVault.Client/wwwroot/appsettings.json index 83bc6ece5..22cb2d055 100644 --- a/src/AliasVault.Client/wwwroot/appsettings.json +++ b/src/AliasVault.Client/wwwroot/appsettings.json @@ -1,5 +1,6 @@ { "ApiUrl": "http://localhost:5092", "PrivateEmailDomains": ["example.tld"], - "SupportEmail": "support@example.tld" + "SupportEmail": "support@example.tld", + "PublicRegistrationEnabled": "true" }