Index: iknow-api/Services/Implementations/AuthService.cs
===================================================================
--- iknow-api/Services/Implementations/AuthService.cs	(revision 271178d597db61c1a18da2c7f3c6bd48512e23f0)
+++ iknow-api/Services/Implementations/AuthService.cs	(revision cb8e531a0773f83ac2b272beb7f03b05eadb7a06)
@@ -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
             );
