working on server authenticate users

This commit is contained in:
2026-05-13 23:47:33 -04:00
parent a9d2fd64de
commit 63d3806936
11 changed files with 125 additions and 36 deletions

View File

@@ -21,7 +21,8 @@ var bootstrapService = new ServerBootstrapService(db, coreClient, cryptoService)
await bootstrapService.InitializeAsync();
var builder = WebApplication.CreateBuilder(args);
builder.WebHost.UseUrls("http://127.0.0.1:5000/");
// builder.WebHost.UseUrls("http://127.0.0.1:5000/");
builder.WebHost.UseUrls("http://192.168.1.85:5000/");
builder.Services.AddSingleton(db);
builder.Services.AddScoped<RtcCallService>();
@@ -31,7 +32,8 @@ var app = builder.Build();
app.MapGet("/", () => "Server Running!");
app.MapRtcEndpoints();
var wssv = new WebSocketServer("ws://localhost:1337");
// var wssv = new WebSocketServer("ws://127.0.0.1:5001");
var wssv = new WebSocketServer("ws://192.168.1.85:5001");
wssv.AddWebSocketService<ChatSocketBehavior>("/");
RtcNotificationService.Server = wssv;

View File

@@ -1,4 +1,5 @@
using System.Text.Json;
using System.Net.Http.Headers;
using System.Text.Json;
using RelayServer.Models;
using RelayServer.Services.Crypto;
using RelayServer.Services.Data;
@@ -39,6 +40,12 @@ public class ChatSocketBehavior : WebSocketBehavior
return;
}
if (msg.StartsWith("AUTHENTICATE_USER"))
{
HandleAuth(msg);
return;
}
if (msg == "GET_SERVER_KEY")
{
HandleGetServerKey();
@@ -97,7 +104,35 @@ public class ChatSocketBehavior : WebSocketBehavior
return false;
}
}
private async void HandleAuth(string msg)
{
var parts = msg.Split('|', 3);
if (parts.Length < 3)
{
Console.WriteLine("Invalid AUTHENTICATE_USERS payload.");
return;
}
var username = parts[1];
var token = parts[2];
// HttpClient core = new HttpClient{BaseAddress = new Uri("http://127.0.0.1:1337")};
HttpClient core = new HttpClient{BaseAddress = new Uri("http://192.168.1.85:1337")};
core.DefaultRequestHeaders.Accept.Clear();
core.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
core.DefaultRequestHeaders.Add("User-Agent", "RelayServer");
HttpResponseMessage response = await core.PostAsJsonAsync("/server/verify/user", new AuthUserVerify
{
Username = username,
Token = token
});
Console.WriteLine(response.Content.ReadAsStringAsync().Result);
}
private void HandleEncryptedRtcSignal(string msg)
{
Console.WriteLine("RTC SIGNAL HIT");