implemented login logic

This commit is contained in:
2026-03-11 19:23:58 +01:00
parent ebfe80133c
commit 744dd7f42d
6 changed files with 106 additions and 15 deletions
+12 -2
View File
@@ -4,6 +4,7 @@ import (
"context"
"log"
"net/http"
"strconv"
"sync"
"time"
@@ -109,13 +110,22 @@ func handleUnauthenticatedMessage(ctx context.Context, conn *websocket.Conn, msg
conn.Close(websocket.StatusPolicyViolation, "invalid token")
return
}
user, err := GetUserData(ctx, subject)
var subjectId uint32
parsed, err := strconv.ParseUint(subject, 10, 32)
subjectId = uint32(parsed)
if err != nil {
conn.Close(websocket.StatusPolicyViolation, "invalid token")
return
}
user, err := GetUserDataById(ctx, subjectId)
if err != nil {
conn.Close(websocket.StatusPolicyViolation, "invalid token")
return
}
mu.Lock()
authenticatedConnections = append(authenticatedConnections, AuthConnection{connection: conn, user: user})
authenticatedConnections = append(authenticatedConnections, AuthConnection{connection: conn, user: *user})
mu.Unlock()
sendAndCloseIfFails(conn, map[string]any{
"authAs": user.Name,