Index: iknow-api/Controllers/AuthController.cs
===================================================================
--- iknow-api/Controllers/AuthController.cs	(revision 3347c1b709ebb3bce2d308c2a77f0e13470fc799)
+++ iknow-api/Controllers/AuthController.cs	(revision c2e73b650de6ad28dc2d09e6d6dc6c1cb636acd7)
@@ -57,11 +57,11 @@
         }
 
-        [HttpPost("verify-token")]
-        public async Task<IActionResult> verifyToken([FromBody]  VerifyRefreshTokenDto VerifyRefreshTokenDto)
+        [HttpPost("verify-user-token")]
+        public async Task<IActionResult> VerifyToken([FromBody] VerifyRefreshTokenDto verifyRefreshToken)
         {
-            if (await _refreshTokenService.VerifyRefreshToken(VerifyRefreshTokenDto))
-            {   return Ok();    }
+            if (await _refreshTokenService.VerifyRefreshToken(verifyRefreshToken))
+            { return Ok(await _authService.GenerateNewJWT(verifyRefreshToken)); }
             else
-            {   return BadRequest("No token found");    }
+            { return BadRequest(new { message = "No token found!" }); }
         }
     }
Index: iknow-api/DTOs/RefreshTokenDTO.cs
===================================================================
--- iknow-api/DTOs/RefreshTokenDTO.cs	(revision 3347c1b709ebb3bce2d308c2a77f0e13470fc799)
+++ iknow-api/DTOs/RefreshTokenDTO.cs	(revision c2e73b650de6ad28dc2d09e6d6dc6c1cb636acd7)
@@ -3,5 +3,5 @@
     public class VerifyRefreshTokenDto
     {
-        public string? token;
+        public string token { get; set; }
     }
     public class AuthResultDto
Index: iknow-api/Migrations/20251027140958_refreshtoken.Designer.cs
===================================================================
--- iknow-api/Migrations/20251027140958_refreshtoken.Designer.cs	(revision 3347c1b709ebb3bce2d308c2a77f0e13470fc799)
+++ 	(revision )
@@ -1,106 +1,0 @@
-﻿// <auto-generated />
-using System;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
-using iknow_api.Data;
-
-#nullable disable
-
-namespace iknow_api.Migrations
-{
-    [DbContext(typeof(AppDbContext))]
-    [Migration("20251027140958_refreshtoken")]
-    partial class refreshtoken
-    {
-        /// <inheritdoc />
-        protected override void BuildTargetModel(ModelBuilder modelBuilder)
-        {
-#pragma warning disable 612, 618
-            modelBuilder
-                .HasAnnotation("ProductVersion", "9.0.10")
-                .HasAnnotation("Relational:MaxIdentifierLength", 63);
-
-            NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
-
-            modelBuilder.Entity("iknow_api.Models.RefreshToken", b =>
-                {
-                    b.Property<int>("Id")
-                        .ValueGeneratedOnAdd()
-                        .HasColumnType("integer");
-
-                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
-
-                    b.Property<DateTime>("ExpiresAt")
-                        .HasColumnType("timestamp with time zone");
-
-                    b.Property<bool>("IsValid")
-                        .HasColumnType("boolean");
-
-                    b.Property<string>("Token")
-                        .IsRequired()
-                        .HasColumnType("text");
-
-                    b.Property<int>("UserId")
-                        .HasColumnType("integer");
-
-                    b.HasKey("Id");
-
-                    b.HasIndex("UserId");
-
-                    b.ToTable("RefreshToken");
-                });
-
-            modelBuilder.Entity("iknow_api.Models.User", b =>
-                {
-                    b.Property<int>("Id")
-                        .ValueGeneratedOnAdd()
-                        .HasColumnType("integer");
-
-                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
-
-                    b.Property<DateTime>("Bday")
-                        .HasColumnType("timestamp with time zone");
-
-                    b.Property<DateTime>("CreatedAt")
-                        .HasColumnType("timestamp with time zone");
-
-                    b.Property<string>("Email")
-                        .HasColumnType("text");
-
-                    b.Property<string>("Index")
-                        .HasColumnType("text");
-
-                    b.Property<string>("Name")
-                        .HasColumnType("text");
-
-                    b.Property<string>("PasswordHash")
-                        .HasColumnType("text");
-
-                    b.Property<int>("Role")
-                        .HasColumnType("integer");
-
-                    b.Property<string>("Surname")
-                        .HasColumnType("text");
-
-                    b.HasKey("Id");
-
-                    b.ToTable("User");
-                });
-
-            modelBuilder.Entity("iknow_api.Models.RefreshToken", b =>
-                {
-                    b.HasOne("iknow_api.Models.User", "User")
-                        .WithMany()
-                        .HasForeignKey("UserId")
-                        .OnDelete(DeleteBehavior.Cascade)
-                        .IsRequired();
-
-                    b.Navigation("User");
-                });
-#pragma warning restore 612, 618
-        }
-    }
-}
Index: iknow-api/Migrations/20251027140958_refreshtoken.cs
===================================================================
--- iknow-api/Migrations/20251027140958_refreshtoken.cs	(revision 3347c1b709ebb3bce2d308c2a77f0e13470fc799)
+++ 	(revision )
@@ -1,73 +1,0 @@
-﻿using System;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
-
-#nullable disable
-
-namespace iknow_api.Migrations
-{
-    /// <inheritdoc />
-    public partial class refreshtoken : Migration
-    {
-        /// <inheritdoc />
-        protected override void Up(MigrationBuilder migrationBuilder)
-        {
-            migrationBuilder.CreateTable(
-                name: "User",
-                columns: table => new
-                {
-                    Id = table.Column<int>(type: "integer", nullable: false)
-                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
-                    Name = table.Column<string>(type: "text", nullable: true),
-                    Surname = table.Column<string>(type: "text", nullable: true),
-                    Index = table.Column<string>(type: "text", nullable: true),
-                    Email = table.Column<string>(type: "text", nullable: true),
-                    PasswordHash = table.Column<string>(type: "text", nullable: true),
-                    Bday = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
-                    CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
-                    Role = table.Column<int>(type: "integer", nullable: false)
-                },
-                constraints: table =>
-                {
-                    table.PrimaryKey("PK_User", x => x.Id);
-                });
-
-            migrationBuilder.CreateTable(
-                name: "RefreshToken",
-                columns: table => new
-                {
-                    Id = table.Column<int>(type: "integer", nullable: false)
-                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
-                    UserId = table.Column<int>(type: "integer", nullable: false),
-                    Token = table.Column<string>(type: "text", nullable: false),
-                    ExpiresAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
-                    IsValid = table.Column<bool>(type: "boolean", nullable: false)
-                },
-                constraints: table =>
-                {
-                    table.PrimaryKey("PK_RefreshToken", x => x.Id);
-                    table.ForeignKey(
-                        name: "FK_RefreshToken_User_UserId",
-                        column: x => x.UserId,
-                        principalTable: "User",
-                        principalColumn: "Id",
-                        onDelete: ReferentialAction.Cascade);
-                });
-
-            migrationBuilder.CreateIndex(
-                name: "IX_RefreshToken_UserId",
-                table: "RefreshToken",
-                column: "UserId");
-        }
-
-        /// <inheritdoc />
-        protected override void Down(MigrationBuilder migrationBuilder)
-        {
-            migrationBuilder.DropTable(
-                name: "RefreshToken");
-
-            migrationBuilder.DropTable(
-                name: "User");
-        }
-    }
-}
Index: iknow-api/Migrations/20251028091953_new.Designer.cs
===================================================================
--- iknow-api/Migrations/20251028091953_new.Designer.cs	(revision c2e73b650de6ad28dc2d09e6d6dc6c1cb636acd7)
+++ iknow-api/Migrations/20251028091953_new.Designer.cs	(revision c2e73b650de6ad28dc2d09e6d6dc6c1cb636acd7)
@@ -0,0 +1,106 @@
+﻿// <auto-generated />
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+using iknow_api.Data;
+
+#nullable disable
+
+namespace iknow_api.Migrations
+{
+    [DbContext(typeof(AppDbContext))]
+    [Migration("20251028091953_new")]
+    partial class @new
+    {
+        /// <inheritdoc />
+        protected override void BuildTargetModel(ModelBuilder modelBuilder)
+        {
+#pragma warning disable 612, 618
+            modelBuilder
+                .HasAnnotation("ProductVersion", "9.0.10")
+                .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+            NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+            modelBuilder.Entity("iknow_api.Models.RefreshToken", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<DateTime>("ExpiresAt")
+                        .HasColumnType("timestamp with time zone");
+
+                    b.Property<bool>("IsValid")
+                        .HasColumnType("boolean");
+
+                    b.Property<string>("Token")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<int>("UserId")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("RefreshToken");
+                });
+
+            modelBuilder.Entity("iknow_api.Models.User", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<DateTime>("Bday")
+                        .HasColumnType("timestamp with time zone");
+
+                    b.Property<DateTime>("CreatedAt")
+                        .HasColumnType("timestamp with time zone");
+
+                    b.Property<string>("Email")
+                        .HasColumnType("text");
+
+                    b.Property<string>("Index")
+                        .HasColumnType("text");
+
+                    b.Property<string>("Name")
+                        .HasColumnType("text");
+
+                    b.Property<string>("PasswordHash")
+                        .HasColumnType("text");
+
+                    b.Property<int>("Role")
+                        .HasColumnType("integer");
+
+                    b.Property<string>("Surname")
+                        .HasColumnType("text");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("User");
+                });
+
+            modelBuilder.Entity("iknow_api.Models.RefreshToken", b =>
+                {
+                    b.HasOne("iknow_api.Models.User", "User")
+                        .WithMany()
+                        .HasForeignKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("User");
+                });
+#pragma warning restore 612, 618
+        }
+    }
+}
Index: iknow-api/Migrations/20251028091953_new.cs
===================================================================
--- iknow-api/Migrations/20251028091953_new.cs	(revision c2e73b650de6ad28dc2d09e6d6dc6c1cb636acd7)
+++ iknow-api/Migrations/20251028091953_new.cs	(revision c2e73b650de6ad28dc2d09e6d6dc6c1cb636acd7)
@@ -0,0 +1,73 @@
+﻿using System;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace iknow_api.Migrations
+{
+    /// <inheritdoc />
+    public partial class @new : Migration
+    {
+        /// <inheritdoc />
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.CreateTable(
+                name: "User",
+                columns: table => new
+                {
+                    Id = table.Column<int>(type: "integer", nullable: false)
+                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+                    Name = table.Column<string>(type: "text", nullable: true),
+                    Surname = table.Column<string>(type: "text", nullable: true),
+                    Index = table.Column<string>(type: "text", nullable: true),
+                    Email = table.Column<string>(type: "text", nullable: true),
+                    PasswordHash = table.Column<string>(type: "text", nullable: true),
+                    Bday = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
+                    CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
+                    Role = table.Column<int>(type: "integer", nullable: false)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_User", x => x.Id);
+                });
+
+            migrationBuilder.CreateTable(
+                name: "RefreshToken",
+                columns: table => new
+                {
+                    Id = table.Column<int>(type: "integer", nullable: false)
+                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+                    UserId = table.Column<int>(type: "integer", nullable: false),
+                    Token = table.Column<string>(type: "text", nullable: false),
+                    ExpiresAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
+                    IsValid = table.Column<bool>(type: "boolean", nullable: false)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_RefreshToken", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_RefreshToken_User_UserId",
+                        column: x => x.UserId,
+                        principalTable: "User",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
+                });
+
+            migrationBuilder.CreateIndex(
+                name: "IX_RefreshToken_UserId",
+                table: "RefreshToken",
+                column: "UserId");
+        }
+
+        /// <inheritdoc />
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropTable(
+                name: "RefreshToken");
+
+            migrationBuilder.DropTable(
+                name: "User");
+        }
+    }
+}
Index: iknow-api/Models/RefreshToken.cs
===================================================================
--- iknow-api/Models/RefreshToken.cs	(revision 3347c1b709ebb3bce2d308c2a77f0e13470fc799)
+++ iknow-api/Models/RefreshToken.cs	(revision c2e73b650de6ad28dc2d09e6d6dc6c1cb636acd7)
@@ -6,7 +6,7 @@
     {
         public int Id { get; set; }
-         public int UserId { get; set; }
-        public User User { get; set; } = null!;
-        public string Token { get; set; }
+        public int UserId { get; set; }
+        public User User { get; set; } 
+        public string? Token { get; set; }
         public DateTime ExpiresAt { get; set; }
         public bool IsValid { get; set; }
Index: iknow-api/Repository/Implementations/RefreshTokenRepository.cs
===================================================================
--- iknow-api/Repository/Implementations/RefreshTokenRepository.cs	(revision 3347c1b709ebb3bce2d308c2a77f0e13470fc799)
+++ iknow-api/Repository/Implementations/RefreshTokenRepository.cs	(revision c2e73b650de6ad28dc2d09e6d6dc6c1cb636acd7)
@@ -5,4 +5,5 @@
 using iknow_api.Services;
 using iknow_api.DTOs;
+using System.Runtime.CompilerServices;
 
 namespace iknow_api.Repositories
@@ -28,10 +29,21 @@
         }
 
+        public async Task<int?> GetUserId(string refreshTokenDto)
+        {
+            var token = await _context.RefreshToken.FirstOrDefaultAsync(u => u.Token == refreshTokenDto);
+            return token?.UserId ;
+        }
 
         public async Task<bool> VerifyTokenAsync(VerifyRefreshTokenDto refreshTokenDto)
         {
-             return await _context.RefreshToken
-            .AnyAsync(rt => rt.Token == refreshTokenDto.token && !rt.IsValid && rt.ExpiresAt > DateTime.UtcNow);
+            var token = await _context.RefreshToken
+                .FirstOrDefaultAsync(rt =>
+                    rt.Token == refreshTokenDto.token &&
+                    rt.IsValid &&
+                    rt.ExpiresAt > DateTime.UtcNow);
+
+            return token != null;
         }
+
     }
 }
Index: iknow-api/Repository/Implementations/UserRepository.cs
===================================================================
--- iknow-api/Repository/Implementations/UserRepository.cs	(revision 3347c1b709ebb3bce2d308c2a77f0e13470fc799)
+++ iknow-api/Repository/Implementations/UserRepository.cs	(revision c2e73b650de6ad28dc2d09e6d6dc6c1cb636acd7)
@@ -24,5 +24,8 @@
             return await _context.User.FirstOrDefaultAsync(u => u.Email == username);
         }
-
+        public async Task<User?> GetOnlyUserByIdAsync(int id)
+        {
+            return await _context.User.FirstOrDefaultAsync(u => u.Id == id);
+        }
         public async Task AddUserAsync(User user)
         {
Index: iknow-api/Repository/Interface/IRefreshTokenRepository.cs
===================================================================
--- iknow-api/Repository/Interface/IRefreshTokenRepository.cs	(revision 3347c1b709ebb3bce2d308c2a77f0e13470fc799)
+++ iknow-api/Repository/Interface/IRefreshTokenRepository.cs	(revision c2e73b650de6ad28dc2d09e6d6dc6c1cb636acd7)
@@ -7,4 +7,5 @@
         Task<bool> VerifyTokenAsync(VerifyRefreshTokenDto refreshTokenDto);
         Task<bool> DeleteTokenAsync(string refreshTokenDto);
+        Task<int?> GetUserId(string refreshTokenDto);
         
     }
Index: iknow-api/Repository/Interface/IUserRepository.cs
===================================================================
--- iknow-api/Repository/Interface/IUserRepository.cs	(revision 3347c1b709ebb3bce2d308c2a77f0e13470fc799)
+++ iknow-api/Repository/Interface/IUserRepository.cs	(revision c2e73b650de6ad28dc2d09e6d6dc6c1cb636acd7)
@@ -8,4 +8,6 @@
         Task AddUserAsync(User user);
         Task<int> GetUsersCountAsync();
+        Task<User?> GetOnlyUserByIdAsync(int id);
+
     }
 }
Index: iknow-api/Services/Implementations/AuthService.cs
===================================================================
--- iknow-api/Services/Implementations/AuthService.cs	(revision 3347c1b709ebb3bce2d308c2a77f0e13470fc799)
+++ iknow-api/Services/Implementations/AuthService.cs	(revision c2e73b650de6ad28dc2d09e6d6dc6c1cb636acd7)
@@ -14,12 +14,15 @@
     {
         private readonly IUserRepository _userRepository;
+        private readonly IRefreshTokenRepository _refreshTokenRepository;
         private readonly IRefreshTokenService _refreshTokenService;
         private readonly IConfiguration _configuration;
 
-        public AuthService(IUserRepository userRepository, IConfiguration configuration, IRefreshTokenService refreshTokenService)
+        public AuthService(IUserRepository userRepository, IConfiguration configuration
+                            , IRefreshTokenService refreshTokenService, IRefreshTokenRepository refreshTokenRepository)
         {
             _userRepository = userRepository;
             _configuration = configuration;
             _refreshTokenService = refreshTokenService;
+            _refreshTokenRepository = refreshTokenRepository;
         }
 
@@ -58,6 +61,6 @@
             if (loginDto.GenerateRefreshToken)
             {
-                //int userid = _userRepository.GetUserByUsernameAsync(loginDto.Email).Id;
-                result.RefreshToken = await _refreshTokenService.GenerateRefreshToken(6);
+                int userid = _userRepository.GetUserByUsernameAsync(loginDto.Email).Id;
+                result.RefreshToken = await _refreshTokenService.GenerateRefreshToken(userid);
             }
 
@@ -68,4 +71,17 @@
         {
             return await _userRepository.GetUsersCountAsync();
+        }
+
+        public async Task<AuthResultDto> GenerateNewJWT(VerifyRefreshTokenDto token)
+        {
+            int userid = await _refreshTokenRepository.GetUserId(token.token) ?? 0;
+            User user = await _userRepository.GetOnlyUserByIdAsync(userid);
+
+            var result = new AuthResultDto
+            {
+                AccessToken = CreateToken(user)
+            };
+            
+            return result;
         }
 
Index: iknow-api/Services/Implementations/RefreshTokenService.cs
===================================================================
--- iknow-api/Services/Implementations/RefreshTokenService.cs	(revision 3347c1b709ebb3bce2d308c2a77f0e13470fc799)
+++ iknow-api/Services/Implementations/RefreshTokenService.cs	(revision c2e73b650de6ad28dc2d09e6d6dc6c1cb636acd7)
@@ -45,4 +45,6 @@
             return await _refreshTokenRepository.VerifyTokenAsync(refreshTokenDto);
         }
+
+        
     }
 }
Index: iknow-api/Services/Interfaces/IAuthService.cs
===================================================================
--- iknow-api/Services/Interfaces/IAuthService.cs	(revision 3347c1b709ebb3bce2d308c2a77f0e13470fc799)
+++ iknow-api/Services/Interfaces/IAuthService.cs	(revision c2e73b650de6ad28dc2d09e6d6dc6c1cb636acd7)
@@ -1,4 +1,4 @@
 ﻿using iknow_api.DTOs;
-
+using iknow_api.DTOs;
 namespace iknow_api.Services
 {
@@ -8,4 +8,5 @@
         Task<AuthResultDto?> LoginAsync(LoginDto loginDto);
         Task<int> GetUsersCountAsync();
+        Task<AuthResultDto> GenerateNewJWT(VerifyRefreshTokenDto token);
     }
 }
