Index: iknow-api/Services/Implementations/AuthService.cs
===================================================================
--- iknow-api/Services/Implementations/AuthService.cs	(revision 277bd721a2fad95bc066942c62c39118a9e2a901)
+++ iknow-api/Services/Implementations/AuthService.cs	(revision 9538edc6e5b4e46a44364cdbc2c10b0ae05dcc98)
@@ -22,13 +22,19 @@
         }
 
-        public async Task<bool> RegisterAsync(UserDto userDto)
+        public async Task<bool> RegisterAsync(RegisterDto registerDto)
         {
-            if (await _userRepository.UserExistsAsync(userDto.Username))
+            if (await _userRepository.UserExistsAsync(registerDto.Email))
                 return false;
 
             var user = new User
             {
-                Email = userDto.Username,
-                PasswordHash = BCrypt.Net.BCrypt.HashPassword(userDto.Password)
+                Name = registerDto.Name,
+                Surname = registerDto.Surname,
+                Index = registerDto.Index,
+                Email = registerDto.Email,
+                PasswordHash = BCrypt.Net.BCrypt.HashPassword(registerDto.Password),
+                Bday = DateTime.SpecifyKind(registerDto.Bday, DateTimeKind.Utc),
+                CreatedAt = DateTime.UtcNow,
+                Role = (Core.Models.UserRole)registerDto.Role
             };
 
@@ -37,8 +43,8 @@
         }
 
-        public async Task<string?> LoginAsync(UserDto userDto)
+        public async Task<string?> LoginAsync(LoginDto loginDto)
         {
-            var user = await _userRepository.GetUserByUsernameAsync(userDto.Username);
-            if (user == null || !BCrypt.Net.BCrypt.Verify(userDto.Password, user.PasswordHash))
+            var user = await _userRepository.GetUserByUsernameAsync(loginDto.Email);
+            if (user == null || !BCrypt.Net.BCrypt.Verify(loginDto.Password, user.PasswordHash))
                 return null;
 
@@ -56,5 +62,6 @@
             {
                 new Claim("id", user.Id.ToString()),
-                new Claim("username", user.Email)
+                new Claim("username", user.Email ?? string.Empty),
+                new Claim("role", user.Role.ToString())
             };
 
@@ -67,8 +74,8 @@
 
             var token = new JwtSecurityToken(
-                issuer: "finxacces-api",
-                audience: "finxacces-api",
+                issuer: "iknow-api",
+                audience: "iknow-api",
                 claims: claims,
-                expires: DateTime.Now.AddHours(1),
+                expires: DateTime.UtcNow.AddHours(1),
                 signingCredentials: creds
             );
Index: iknow-api/Services/Implementations/UserService.cs
===================================================================
--- iknow-api/Services/Implementations/UserService.cs	(revision 277bd721a2fad95bc066942c62c39118a9e2a901)
+++ 	(revision )
@@ -1,33 +1,0 @@
-//using Microsoft.EntityFrameworkCore;
-//using iknow_api.Core.Models;
-//using iknow_api.Repository.Interfaces;
-//// ...existing code...
-
-//namespace iknow_api.Core.Services
-//{
-//    public class UserService
-//    {
-//        private readonly IUserRepository _users;
-
-//        public UserService(IUserRepository users)
-//        {
-//            _users = users;
-//        }
-
-//        public async Task<User> AddUserAsync(User user, CancellationToken cancellationToken = default)
-//        {
-//            if (user == null) throw new ArgumentNullException(nameof(user));
-
-//            if (!string.IsNullOrWhiteSpace(user.Email))
-//            {
-//                user.Email = user.Email.Trim();
-
-//                var exists = await _users.EmailExistsAsync(user.Email, cancellationToken);
-//                if (exists)
-//                    throw new InvalidOperationException("A user with this email already exists.");
-//            }
-
-//            return await _users.AddUserAsync(user, cancellationToken);
-//        }
-//    }
-//}
