diff options
Diffstat (limited to 'src/Enmarcha.Backend/Configuration/AppConfiguration.cs')
| -rw-r--r-- | src/Enmarcha.Backend/Configuration/AppConfiguration.cs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/Enmarcha.Backend/Configuration/AppConfiguration.cs b/src/Enmarcha.Backend/Configuration/AppConfiguration.cs index 8c6e411..ca2425b 100644 --- a/src/Enmarcha.Backend/Configuration/AppConfiguration.cs +++ b/src/Enmarcha.Backend/Configuration/AppConfiguration.cs @@ -7,6 +7,7 @@ public class AppConfiguration public string NominatimBaseUrl { get; set; } = "https://nominatim.openstreetmap.org"; public string[] OtpFeeds { get; set; } = []; public OpenTelemetryConfiguration? OpenTelemetry { get; set; } + public VapidConfiguration? Vapid { get; set; } } public class OpenTelemetryConfiguration @@ -14,3 +15,22 @@ public class OpenTelemetryConfiguration public string? Endpoint { get; set; } public string? Headers { get; set; } } + +public class VapidConfiguration +{ + /// <summary> + /// VAPID subject — typically "mailto:admin@yourdomain.com" or a URL. + /// </summary> + public required string Subject { get; set; } + + /// <summary> + /// Base64url-encoded VAPID public key. Safe to expose to browsers. + /// </summary> + public required string PublicKey { get; set; } + + /// <summary> + /// Base64url-encoded VAPID private key. Store in user secrets or environment variables only. + /// Generate a key pair with: VapidHelper.GenerateVapidKeys() from the WebPush NuGet package. + /// </summary> + public required string PrivateKey { get; set; } +} |
