From 6898919979c914be4c4650158fe0451a21349bb5 Mon Sep 17 00:00:00 2001 From: physcik Date: Mon, 20 Apr 2026 15:45:45 +0500 Subject: login --- backend/src/Authentication/Tokens.zig | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'backend/src/Authentication/Tokens.zig') diff --git a/backend/src/Authentication/Tokens.zig b/backend/src/Authentication/Tokens.zig index 6548ce7..37bfd5a 100644 --- a/backend/src/Authentication/Tokens.zig +++ b/backend/src/Authentication/Tokens.zig @@ -20,6 +20,9 @@ pub fn Init() !void { fn generateSessionToken(buf: []u8) []u8 { for (0..64) |i| { buf[i] = std.Random.intRangeAtMost(rnd, u8, 'A', 'z'); + if (buf[i] == '\\') { + buf[i] = '@'; + } } return buf; } @@ -40,3 +43,19 @@ pub fn GenerateNewSession(allocator: std.mem.Allocator, user: userModel.User) ![ return newToken; } + +pub fn GetUserFromToken(allocator: std.mem.Allocator, token: []const u8) !?std.json.Parsed(userModel.User) { + const saved = try redis.ReadFromTopic(allocator, topicName, token) orelse { + std.debug.print("The token was not found \n", .{}); + return null; + }; + std.debug.print("FromRedis: {s}\n", .{ saved }); + const parsed = try std.json.parseFromSlice( + userModel.User, + allocator, + saved, + .{ + .ignore_unknown_fields = true, + }); + return parsed; +} -- cgit v1.3