diff --git a/apps/server/AliasVault.Client/Auth/Pages/Start.razor b/apps/server/AliasVault.Client/Auth/Pages/Start.razor index 36af992cb..75b220d3b 100644 --- a/apps/server/AliasVault.Client/Auth/Pages/Start.razor +++ b/apps/server/AliasVault.Client/Auth/Pages/Start.razor @@ -30,6 +30,22 @@

@Localizer["TaglineText"]

+ @if (_isHttpWarning) + { + + }
@if (Config.PublicRegistrationEnabled) { @@ -50,6 +66,7 @@ @code { private IStringLocalizer Localizer => LocalizerFactory.Create("Pages.Auth.Start", "AliasVault.Client"); + private bool _isHttpWarning = false; /// protected override async Task OnInitializedAsync() @@ -62,5 +79,20 @@ // Already authenticated, redirect to home page. NavigationManager.NavigateTo("/"); } + + CheckHttpProtocol(); + } + + /// + /// Checks if the current URL is using HTTP and shows warning if needed. + /// Only shows warning for non-localhost hostnames since browsers allow crypto operations on localhost via HTTP. + /// + private void CheckHttpProtocol() + { + var uri = new Uri(NavigationManager.Uri); + var isLocalhost = uri.Host.Equals("localhost", StringComparison.OrdinalIgnoreCase) || + uri.Host.Equals("127.0.0.1", StringComparison.OrdinalIgnoreCase) || + uri.Host.Equals("::1", StringComparison.OrdinalIgnoreCase); + _isHttpWarning = uri.Scheme == "http" && !isLocalhost; } } diff --git a/apps/server/AliasVault.Client/Main/Layout/Footer.razor b/apps/server/AliasVault.Client/Main/Layout/Footer.razor index d535e624c..b6b719ab4 100644 --- a/apps/server/AliasVault.Client/Main/Layout/Footer.razor +++ b/apps/server/AliasVault.Client/Main/Layout/Footer.razor @@ -4,31 +4,7 @@ @using Microsoft.Extensions.Localization @implements IDisposable -@if (_isHttpWarning) -{ -
-
-
-
- - - -
-

@Localizer["HttpsWarningTitle"]

-

@Localizer["HttpsWarningMessage"]

-
-
- -
-
-
-} - -