From 4b2ad030fa381662f4b0c2464e97b0d2c5f6a716 Mon Sep 17 00:00:00 2001
From: Tim <contact@bytim.eu>
Date: Fri, 18 Apr 2025 12:25:59 +0200
Subject: Initial commit

---
 VPNAuth.Server/HttpContextUtils.cs | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
 create mode 100644 VPNAuth.Server/HttpContextUtils.cs

(limited to 'VPNAuth.Server/HttpContextUtils.cs')

diff --git a/VPNAuth.Server/HttpContextUtils.cs b/VPNAuth.Server/HttpContextUtils.cs
new file mode 100644
index 0000000..5bba471
--- /dev/null
+++ b/VPNAuth.Server/HttpContextUtils.cs
@@ -0,0 +1,15 @@
+namespace VPNAuth.Server;
+
+public static class HttpContextUtils
+{
+    public static string GetRemoteIpAddress(this HttpContext context)
+        => context.Request.Headers["X-Forwarded-For"].DefaultIfEmpty(context.Connection.RemoteIpAddress!.ToString())
+            .First()!;
+
+    public static ConfigUser? GetUser(this HttpContext context)
+    {
+        var config = Config.Read();
+        if (config.Users == null || config.Users.Count == 0) return null;
+        return config.Users!.Find(user => user.Ips!.Contains(context.GetRemoteIpAddress()));
+    }
+}
-- 
cgit v1.2.3